永久解决方案(+ 用于构建机器)
Visual Studio 2017
对于 VS 2017,在您的目标 Windows 帐户下调用以下 CMD 脚本:
Community 版
Professional 版
Enterprise
版本
TL;DR. 给可怜的 DisableOutOfProcBuild.exe 的注释,这是我在 VS 2017 中使用的 Microsoft 提供的解决方案。
-
DisableOutOfProcBuild.exe 不会假设你会称它为 out of its installation folder。所以,你不能复制这个 .exe 文件。 (顺便说一句,如果你想构建.vdproj,你必须安装VS。)
-
DisableOutOfProcBuild.exe 仅在当前 CMD 目录设置为 DisableOutOfProcBuild.exe 的安装位置时有效。
例如,对于 VS 专业版,我们必须调用
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 及更早版本
为当前 Windows 用户使用 CMD
对于许多人来说,HKEY_CURRENT_USER\.. 下的创建/更正并不总是有效或永久有效。
试图解决这个问题,我发现实际上我必须在 HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
下创建/更改一些奇怪的键
但我还发现,如果我将使用 CMD 控制台来处理 HKCU 并建议修复
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
这会将值准确写入那个奇怪的键 HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xx...,而不是 HKEY_CURRENT_USER。
所以,这从一开始就一直有效。只需使用 CMD 控制台。
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
@REM (use 12.0_Config for VS2013)
构建服务器的求解器
另一方面,此代码始终适用于启动它的当前用户帐户(因为 HKEY_CURRENT_USER)。但是构建服务器通常使用专用帐户或本地系统等。
我通过将以下简单的批处理文件添加到我的构建任务(Jenkins、TeamCity、CruiseControl)中,在我的构建机器上修复了它
VS-2015,
VS-2013,
VS-2017-Community,
VS-2017-Professional,
VS-2017-Enterprise