【问题标题】:C# preprocessor directive or conditional for differentiating between Visual Studio 2012 and 2010?用于区分 Visual Studio 2012 和 2010 的 C# 预处理器指令或条件?
【发布时间】:2013-08-24 04:56:55
【问题描述】:

我有一些仅适用于 Visual Studio 2012 的 C# 代码,但我也在同一代码库上使用 Visual Studio 2010。是否有预处理指令或条件可以用来隔离代码?

【问题讨论】:

    标签: c# visual-studio conditional preprocessor-directive


    【解决方案1】:

    据我所知,没有内置预处理器指令,但有一个 MSBuild 变量。

    打开项目文件(在解决方案资源管理器中将其卸载,然后单击编辑)并在主要属性声明集之后添加以下内容。

    <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'">
      <DefineConstants>$(DefineConstants);VS_10;</DefineConstants>
    </PropertyGroup>
    <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'">
      <DefineConstants>$(DefineConstants);VS_11;</DefineConstants>
    </PropertyGroup>
    

    然后您可以使用 VS_10 (VS 2010) 或 VS_11 (VS 2012) preproc 指令。

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2012-08-29
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多