我有一個使用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