我在 VS 2019 中创建了一个新项目,但它没有编译,因为 VS 找不到工具集 v142

I created a new project in VS 2019 and it doesn't compile because VS fails to find Toolset v142

新项目的'template'是MFC动态Link库。问题似乎归结为 Visual Studio 寻找文件夹“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v142”——它不存在。我有 运行 并重新 运行 Visual Studio 安装程序 - 总是为工具集 v142 添加更多东西,但似乎没有任何帮助。有没有办法让这个文件夹出现?里面有正确的东西吗?

实际上,我正在将一个现有项目从许多版本升级回使用 VS 2019 进行编译。因为我无法编译它,所以我尝试创建一个新项目来填充我旧项目中的文件在我向其中添加任何文件之前就出现了问题。

我已经为以前版本的 VS 编译我的项目做了类似的过程,但以前从未遇到过这个问题。任何帮助表示赞赏。

为了证明你的问题,我做了一个小测试:

1) 创建一个名为 VCTargetsPath 的新系统环境变量,然后将其值设置为

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

2) 然后重新启动 VS 并将 Platfrom Toolset 设置为 v142under Project属性.

3)然后重建项目,得到同样的错误:

因为你新建的项目也有这个错误,所以我认为你对系统环境变量做了一些修改。

还有,你应该注意这个路径是针对旧的VS2015.

然而,VS2019使用:

C:\Program Files (x86)\Microsoft Visual Studio19\Community\MSBuild\Microsoft\VC\v160\Platforms\Win32\PlatformToolsets\v142

您进行了更改,以便覆盖 VS2019 的系统值,这导致了问题。该值是全局的,影响您当前PC上的所有vs版本。

建议

1)你应该检查你的系统环境变量并搜索VCTargetsPath,如果你有这个变量,请删除它。

2) 或者如果你有这个变量 VCTargetsPath,将它的值改为,或者如果你没有,创建它并将它的值设置为 VS2019.