我想建立一个持续的集成过程,其中服务器将生成VS2008 .SLN文件并执行一些其他操作。MSBUILD VS VS2008之间的差异生成
从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 \回归自动化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 \回归自动化Framework \ Actions \ Common \ Common \ EM.Licensing.csproj]
您能否运行msbuild Solution.sln/verbosity:diag> log.txt并显示与错误相关的日志行? – 2011-06-14 06:15:55
您是否尝试使用MSBuild在本地构建它?它是否以与构建服务器上相同的方式失败? – 2011-06-14 06:20:36
尝试这两个建议。 – 2011-06-14 06:27:22