I'm running into an issue where it appears that the
Solution task does not correctly handled embedded VC++ projects in the solution.
I have a mixed solution with some C# class libraries and some VC++ projects as
well. One of the VC++ projects has a dependency on some of the C# class
libraries. When I attempt to build this with nant I receive an undeclared
identifier error for the types defiled in the C# class libraries. In
trying to fix this issue I've come to notice that the solution task doesn't
seem to be picking up many of the project settings for the VC++ project.
For example, here are the command line parameters to cl.exe that VS.NET uses
(from the buildlog.htm): /Od /AI "d:\TestProjects\NantSolutionTest\Debug"
/D "WIN32" /D "_DEBUG" /D "_MBCS" /FD /EHsc /MTd
/GS /Yu"stdafx.h" /Fp"Debug/ConsoleApp.pch"
/Fo"Debug/" /Fd"Debug/vc70.pdb" /W3 /c /Zi /clr /TP /FU
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll" /FU
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" /FU "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" /FU
"d:\TestProjects\NantSolutionTest\ClassLibrary1\obj\Debug\ClassLibrary1.dll" .\AssemblyInfo.cpp .\ConsoleApp.cpp /nologo And here are the command line parameters that the solution
tasks executed (from using the verbose flag): /clr /Fd"D:\TestProjects\NantSolutionTest\ConsoleApp\Debug/" /Fo"D:\TestProjects\NantSolutionTest\ConsoleApp\Debug/" ".\AssemblyInfo.cpp" ".\ConsoleApp.cpp" /D "_MBCS" /D WIN32 /D _DEBUG /Yu"StdAfx.h"
/Fp"Debug/ConsoleApp.pch" /MTd /W3 /Zi /Od /nologo VS.NET also performs an xcopy of the dependency
(ClassLibrary1.dll in my example) into the obj directory of the VC++ project
which nant does not do. Anyone else seen this? Is there a way I can work
around this issue? Thanks, Aaron |