在我们的自动构建中从命令行或FinalBuilder操作调用devenv.com时,它有时会挂起并且永远不会超过编译步骤。
使用C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE中的参数调用它:
devenv.com /build "Release|Any CPU" "D:\MyProject\MySolution.sln"
它永远挂在这一步。当我在VS 2013中打开它并重新构建解决方案时,它每次都能正常工作。
有什么想法吗?我也在其他构建机器上尝试过,它也是如此。所以它不依赖于机器。
答案 0 :(得分:3)
经过大量的故障排除并查看各种日志,解决方案,谷歌搜索后,我发现这是由Visual Studio 2013中的Extension Manager引起的。 您可以在所有Visual Studio版本中找到扩展管理器 - >工具 - >扩展和更新。
通过从Visual Studio 2013中卸载 Nuget包管理器,使每次成功编译解决方案。
答案 1 :(得分:1)
我们注意到并且每次都可以重现的另一个修复是当Hyper-V中的虚拟机被赋予2个CPU时,它会导致构建每次都挂起。将VM减少到只有1个CPU可以解决问题。
答案 2 :(得分:0)
我们通过创建新的.sln并向其添加现有项目来解决这个问题。 NuGet信息现在从.csproj文件中恢复,我们现在使用" nuget.exe restore"在调用devenv.com之前更新NuGet包。这已经修复了一些项目。