我有一个使用VS2010创建的托管C++构件定向.NET 3.5的.NET解决方案。命令:如何在构建服务器上构建VS2010 C++项目
%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln
在我的开发机器上编译解决方案。
在我BuildServer我得到这个错误:
Build FAILED.
"F:\CruiseControl.NET\Projects\MyProject\MyProject.sln" (default target) (1) -> "F:\CruiseControl.NET\Projects\MyProject\MyProject\MyProject.csproj" (default target) (2) -> "F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj" (default target) (3) ->
F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj(23,3): error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the<Import>
declaration is correct, and that the file exists on disk.0 Warning(s) 1 Error(s)
在我的dev的机器所要求的文件
"C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props"
存在。在我的构建服务器上没有。
当我尝试复制这些文件(以及所有其他文件在同一目录中)时发生其他错误。所以这是错误的。
编辑:其他错误意味着:当我在构建服务器上复制文件“Microsoft.Cpp.Default.props”时,MSBuild声明其他文件。这表明我只是做一个缺失文件的副本不是构建环境所期待的。我正在寻找MSI /我可以在我的构建服务器上安装的任何软件包,并且任何C++项目都将构建。安装SDK没有窍门。或者我在SDK安装过程中做了错误的事情。或者仅使用SDK编译托管C++ VS2010解决方案是不可能的。
我相信“其他错误”与我的问题无关。我的问题是:“我如何正确设置我的编译环境”。 /EDIT
我做了什么至今:
- 我已经安装了最新的Win7 SDK(http://blogs.msdn.com/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx)
- 我针对.NET 3.5
- 我试着打平台工具集属性 - 但它只是玩
- 在我的解决方案中有一个托管的C++程序集(我的问题)
- 我使用MSBuild 4.0,因为新的VS2010项目文件不能与MSBuild 3.5编译
- 我正在使用CC.NET。编译在命令行中的CC.NET 和上失败。所以它不应该是一个CC.NET问题。
是否有如何正确配置我的项目我的开发机器上编译我的生成服务器上VS2010 和任何提示和技巧?还有什么要安装的(VS2010除外)?
谢谢,亚瑟
问题:你是否被锁定到CC.Net,或者你是否有能力升级到其他东西? – Caladain 2010-06-25 22:06:52
我不认为改用另一种持续集成技术会改变任何事情。正如Arthur所说,构建失败使用普通的MSBuild。这似乎是.Net 4.0与SDK 7.0A更紧密相关的问题,它应该是。 – 2010-06-26 09:50:32
是的,那是真的。使用MSBuild在命令行上编译失败。 CC.NET尚未涉及。 – Arthur 2010-06-26 11:49:27