该<PlatformToolset/>
属性不通过项目属性表公开。不幸的是,如果您要升级编译器(在我的情况下为 VS 2013),我必须运行分布在多个解决方案中的多个项目来更改此值。
我可以编写一个脚本或一个小程序来打开 vcxproj 文件,将它们视为 xml 并在所有战略位置插入此属性,但这对我来说似乎有点生硬。
这里推荐的方法是什么?
该<PlatformToolset/>
属性不通过项目属性表公开。不幸的是,如果您要升级编译器(在我的情况下为 VS 2013),我必须运行分布在多个解决方案中的多个项目来更改此值。
我可以编写一个脚本或一个小程序来打开 vcxproj 文件,将它们视为 xml 并在所有战略位置插入此属性,但这对我来说似乎有点生硬。
这里推荐的方法是什么?
您可以使用您的设置插入对文件的引用
<Import Project="FILEWITHTOOLSETSETTINGS.props" />
行前:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
它不是 Visual Studio 的属性表,但它可以工作。
我执行上述解决方案,但如果 vcxproj 文件定义了平台工具集版本,它将不起作用,并将使用项目中定义的指定平台工具集。
我最终从 2100 个项目文件中删除了所有平台工具集定义。如果我应该刚刚创建一个产品平台工具集属性并在项目中将平台工具集设置为这个属性,我来回讨论。
我确实自动编辑了项目,因为我需要修复一些其他属性并构建项目。自动化并不难。