【问题标题】:Platform Toolset property in Visual Studio property sheetsVisual Studio 属性表中的 Platform Toolset 属性
【发布时间】:2015-07-27 15:38:57
【问题描述】:

<PlatformToolset/> 属性不会通过项目属性表公开。不幸的是,如果您要升级编译器(在我的情况下为 VS 2013),我必须运行分布在多个解决方案中的多个项目来更改此值。

我可以编写一个脚本或一个小程序来打开 vcxproj 文件,将它们视为 xml 并在所有战略位置插入此属性,但这对我来说似乎有点 hackish。

这里推荐的方法是什么?

【问题讨论】:

  • 当您将项目加载到新版本的 Visual Studio 中时,它(通常)会提示您将项目升级到新版本。因为这可能不仅仅是更改 PlatformToolSet 标记,所以我建议这样做。
  • @MuertoExcobito 这不适用于使用更高版本 IDE 使用旧版本编译器编译代码的人。我很确定更改 PlatformToolset 属性就足够了,而且一切似乎都超出了这一点。
  • 您必须安装较旧的 IDE 才能使用较旧的 PlatformToolSet 进行实际编译,因此,他们不妨只使用较旧的 IDE。我们支持许多不同版本的 VS,并为每个版本维护项目文件。

标签: visual-c++ visual-studio-2013 envdte propertysheet


【解决方案1】:

您可以使用您的设置插入对文件的引用

<Import Project="FILEWITHTOOLSETSETTINGS.props" />

行前:

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

它不是 Visual Studio 的属性表,但它可以工作。

【讨论】:

    【解决方案2】:

    我执行上述解决方案,但如果 vcxproj 文件定义了平台工具集版本,它将不起作用,并将使用项目中定义的指定平台工具集。

    我最终从 2100 个项目文件中删除了所有平台工具集定义。如果我应该刚刚创建一个产品平台工具集属性并在项目中将平台工具集设置为该属性,我来回讨论。

    我确实自动编辑了项目,因为我需要修复一些其他属性和构建项目。自动化并不难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-09
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 2012-03-01
      • 1970-01-01
      相关资源
      最近更新 更多