У меня есть код C#, который работает только в Visual Studio 2012, но я также использую Visual Studio 2010 на той же кодовой базе. Существует ли препроцессорная директива или условное выражение, которое я могу использовать для выделения кода?Директива препроцессора C# или условная для дифференциации между Visual Studio 2012 и 2010?
1
A
ответ
3
Нет встроенной инструкции для предварительного процессора, насколько я знаю, но есть переменная 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) директиву препроцессора.