如何解决MSBUILD与VS2008内部版本之间的差异
| 我正在尝试建立一个持续集成过程,服务器将在其中构建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]解决方法
如果没有更多详细信息,我不得不说您的一个帐户在服务器上存在权限问题。
VS使用什么帐户? MSBuild在哪个帐户下运行?
, 当我使用多个内核运行msbuild时,有时会遇到类似的锁定冲突-使用/ maxcpucount:n,然后似乎其中一个进程正在锁定另一个进程的文件夹,然后我得到了类似的东西。
不使用开关可以解决问题,仅在某些情况下不会在所有sln上发生。
您不使用postbuild命令进行复制,而不是使用构建输出路径吗?
如果我们知道您的msbuild命令会有所帮助吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。