【发布时间】:2011-06-14 05:55:50
【问题描述】:
我正在尝试建立一个持续集成过程,其中服务器将构建一个 VS2008 .SLN 文件并执行一些其他操作。
从 Visual Studio 构建时,一切正常。 但是,在使用 CI 服务器(使用 MSBUILD)构建时,对于许多 MSB3191 构建失败(无法创建目录...)
在我的 SLN 中,各种项目都有一个非默认输出路径,因为我将它们的所有输出复制到一个位置,这似乎是导致问题的原因。
MSBUILD 和 VS 中使用的构建有什么区别?为什么一个成功而另一个失败?
另外,避免此类问题的良好做法是什么?
这是 MSBUILD 的输出:
"D:\MasterBuild_Dev\tlv_Platform\UBUILD\RecordersAutoFwk\Main.sln" (默认目标) (1) -> “D:\MasterBuild_Dev\tlv_Platform\UBUILD\Regression Automation Framework\Actions\Common\Common\EM.Licensing.csproj”(默认目标)(46)-> (PrepareForBuild 目标)-> C:\Windows\Microsoft.NET\Framework64\v3.5\Microsoft.Common.targets(790,9):错误 MSB3191:无法创建目录“........\RecordersAutoFwk\Main\bin\Debug \lib\"。无法创建“D:\MasterBuild_Dev\tlv_Platform\UBUILD\RecordersAutoFwk\Main\bin\Debug\lib”,因为已存在同名文件或目录。 [D:\MasterBuild_Dev\tlv_Platform\UBUILD\Regression Automation Framework\Actions\Common\Common\EM.Licensing.csproj]
【问题讨论】:
-
能否请您运行 msbuild Solution.sln /verbosity:diag > log.txt 并显示与错误相关的日志行?
-
您是否尝试使用 MSBuild 在本地构建它?它是否以与构建服务器相同的方式失败?
-
尝试这两个建议。
-
添加了构建机器的 MSBUILD 输出
标签: c# visual-studio-2008 msbuild continuous-integration