У меня есть код C#, который работает только в Visual Studio 2012, но я также использую Visual Studio 2010 на той же кодовой базе. Есть ли директива препроцессора или условное выражение, которое я могу использовать для изоляции кода?
Директива препроцессора С# или условие для различения Visual Studio 2012 и 2010?
Ответы (1)
Насколько я знаю, нет встроенной директивы препроцессора, но есть переменная MSBuild.
Откройте файл проекта (выгрузите его в обозревателе решений, затем нажмите «Изменить») и добавьте следующее после основного набора объявлений свойств.
<PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'">
<DefineConstants>$(DefineConstants);VS_10;</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'">
<DefineConstants>$(DefineConstants);VS_11;</DefineConstants>
</PropertyGroup>
Затем вы можете использовать директивы preproc VS_10
(VS 2010) или VS_11
(VS 2012).
person
kiwidev
schedule
24.08.2013