C#预处理器指令或条件,用于区分Visual Studio 2012和2010

本文关键字:Visual Studio 2012 2010 用于区 处理器 预处理 指令 条件 | 更新日期: 2023-09-27 18:28:54

我有一些C#代码,这些代码只能在Visual Studio 2012中使用,但我也在同一代码库中使用Visual Studio 2010。有没有预处理器指令或条件可以用来隔离代码?

C#预处理器指令或条件,用于区分Visual Studio 2012和2010

据我所知,没有内置的预处理器指令,但有一个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)预处理指令。