"CodeTaskFactory加载"上的VS 2015 C++编译失败

kai*_*64b 6 c++ compilation visual-c++ visual-studio-2015 devops

我有一个奇怪的错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(219,5): error MSB4175: The task factory "CodeTaskFactory" could not be loaded from the assembly "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Build.Tasks.Core.dll". Timed out waiting for a program to execute. The command being executed was "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /noconfig /fullpaths @"E:\BuildAgent\temp\buildTmp\dxr3ks1s.cmdline".
Run Code Online (Sandbox Code Playgroud)

我禁用了代码分析:

<RunCodeAnalysis>false</RunCodeAnalysis>
<RunCodeAnalysisOnThisProject>false</RunCodeAnalysisOnThisProject>
Run Code Online (Sandbox Code Playgroud)

但我看到同样的错误:(

vad*_*_hr 1

当我尝试通过 CMAKE 构建项目时,我遇到了同样的问题。在我的环境中,我有两个版本的 VS:VS2015(版本 14)和 VS2022(版本 17)。VS2022构建成功,但VS2015构建失败。我不得不说在安装 WDK 之前一切都很好(或者可能常规的 Windows 更新破坏了我的构建环境)。

我花了几天时间找到解决方案:重新安装并安装所有SDK、WDK和VS。没有任何帮助。最后我想出了一个解决方案:将文件替换VS2015\Microsoft.CodeAnalysis.targets为来自的文件VS2022\Microsoft.CodeAnalysis.targets

copy C:\work\vs2022\Professional\Msbuild\Microsoft\VisualStudio\v17.0\CodeAnalysis\Microsoft.CodeAnalysis.Targets "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\CodeAnalysis\"Microsoft.CodeAnalysis.Targets  
Run Code Online (Sandbox Code Playgroud)

C:\work\vs2022\- 这是我安装VS2022的路径。

为了节省您的时间,我已将文件上传VS2022\Microsoft.CodeAnalysis.targets到 git,这样您就可以下载Microsoft.CodeAnalysis.Targets,而无需安装 vs2022。

我希望这会对某人有所帮助。