我有一个Silverlight解决方案,我想为其创建一个构建脚本。我有一个看起来像这样的简单脚本
call "c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
msbuild %CD%\V1\Incentive.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2
msbuild %CD%\UI\IncentiveUI.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2
pause
然而,当我运行这个时,我得到了一个失败,有一些关于项目中包含链接文件的类的抱怨:
这个解决方案在VS2008中编译得很好,所以我无法弄清问题是什么。我不得不猜测我在这里使用msbuild的方式有问题。
答案 0 :(得分:1)
确保
如有必要,请查看原始.csproj XML。
我昨天遇到了类似症状的问题,因为VB项目设置为Windows应用程序,但应该是类库。它在VS2008中构建得很好,因为错误配置的项目的.dll和.exe已经内置在\ bin \ Debug \中,而Visual Studio正在使用它作为其引用。我没有注意到它,直到我做了一个Clean,导致我必须两次构建项目,第一个失败,因为它找不到引用的项目的dll / exe,第二个建筑没法。
答案 1 :(得分:0)
要解决此问题,我必须设置/ target:Build而不是“Rebuild”。看起来好像Rebuild正在从链接的程序集中清除构建,并且在编译依赖于它的项目时没有正确地重建它们。