在自动构建时使用devenv工具出现了一段时间的错误。我已经查看了所有可以找到的网站,通常的答案是刷新依赖项(我认为这只适用于手动部署,而不适用于自动部署),并从项目中删除源代码控制编码,但这对我没有帮助。
该错误并不是每次构建都会发生,但似乎每次在不同的部署项目上随机出现。
是否有人能够解释一下这个错误的原因,并提供如何解决它的建议?
在自动构建时使用devenv工具出现了一段时间的错误。我已经查看了所有可以找到的网站,通常的答案是刷新依赖项(我认为这只适用于手动部署,而不适用于自动部署),并从项目中删除源代码控制编码,但这对我没有帮助。
该错误并不是每次构建都会发生,但似乎每次在不同的部署项目上随机出现。
是否有人能够解释一下这个错误的原因,并提供如何解决它的建议?
只需运行此exe文件
(Visual Studio 2017社区版)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe
(Visual Studio 2017企业版)
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe
检查项目依赖关系可能会有所帮助。
在VS 2010中,右键单击解决方案资源管理器,然后单击检测到的依赖项和刷新依赖项,有时可以解决问题。
Visual Studio 2017 将以前存储在公共注册表中的信息保存在新的私有注册表中:
C:\Users\\AppData\Local\Microsoft\VisualStudio\15.0_6de65198\privateregistry.bin
根据 VS2013/VS2015 的指示,您需要在此处添加 EnableOutOfProcBuild。
要更新私有注册表,您可以使用 Regedit。
点击选择 HKEY_USERS 节点。
选择 文件>加载 Hive,并导航到 privateregistry.bin 文件。当您选择它时,Regedit 将要求您为其命名 - 叫什么名称并不重要,因为我们很快就要完成了。
现在,注册表结构将出现,并且您可以导航到 Microsoft\VisualStudio\15.0_Config\MSBuild
创建一个名为 EnableOutOfProcBuild 的新 DWORD,值为 0。
完成后,选择 Hive 的根(无论您之前命名为什么),然后使用 文件>卸载 Hive 来分离。
现在应该可以正常工作了 :o)
对我来说,问题是由于错误的 .suo 文件引起的(因为SkyDrive造成的)删除此文件解决了问题。
我的 Visual Studio 2013 不知何故变成了实验性版本,因此开始使用另一个注册表键来进行EnableOutOfProcBuild
为了确保,我在批处理文件中添加了另一行来设置注册表值,然后它开始工作了:
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0Exp_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
步骤1 我已经在以下路径上创建了一个名为“EnableOutOfProcBuild”的DWORD键,并将其值设置为“0”
“HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild”
注意:请确保您已使用与尝试构建项目的用户相同的用户登录
对我来说它很好用。