Visual studio 2015 VS 2015的MSBuild

Visual studio 2015 VS 2015的MSBuild,visual-studio-2015,msbuild,devtoolset,Visual Studio 2015,Msbuild,Devtoolset,我的机器上安装了VS 2010和VS 2015。我有一个全局级的道具文件 如果我提到 v140 v100 在使用VS 2015进行构建时,会出现以下错误 1> C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(518,5):错误MSB8008:指定的平台工具集(v140)未安装或无效。请确保选择了受支持的PlatformToolset值 但如果在相应的Vcx

我的机器上安装了VS 2010和VS 2015。我有一个全局级的道具文件

如果我提到


v140
v100

在使用VS 2015进行构建时,会出现以下错误

1> C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(518,5):错误MSB8008:指定的平台工具集(v140)未安装或无效。请确保选择了受支持的PlatformToolset值

但如果在相应的Vcxproj中创建相同的条目,它将使用VS 2015成功构建


有人能指出问题的原因吗?

我不想更改Vcxproj。我只允许更改属性文件。不太确定,但您可以尝试使用
/toolsversion:14.0
选项调用
MSBuild.exe
。必须在项目文件的早期设置PlatformToolset,然后才包括Microsoft.Cpp.props。是这样吗?如果您使用普通属性页,则不会出现这种情况,它们将在稍后包含。尽管您提到不想更改vcxproj,但解决方案(即一个vcxproj用于不同的VS版本)通常是在vcxproj本身中使用
$(DefaultPlatformToolset)
。虽然我只在VS2012/13/15/17上试用过它,但我认为它也适用于2010年,而且它是自动正确的,并且在将来的VS版本中不需要比现在的版本进行更改。是否要使用Visual Studio 2010或2015构建此vcproj文件?既然您已经安装了Visual Studio 2010和2015,那么当您想使用Visual Studio 2010构建平台工具集时,如何手动将其更改为Visual Studio 2010(v100)?如果您不想手动执行此操作,可以参考stijn的建议。