Переключение между директивами компилятора в Visual Studio 2019? - PullRequest
1 голос
/ 08 июня 2019

Я использую Visual Studio 2019 с проектом на основе SDK с несколькими целями:

<TargetFrameworks>netstandard2.0;net45;net46</TargetFrameworks>

enter image description here

Но когда я пишу условный код,Я вижу (очевидно) некоторый код в сером и некоторый код в обычных цветах:

enter image description here

Вопрос:

Какие настройки определяют, какой раздел будет серым, а какой нет?Потому что теперь, если я хочу отредактировать раздел "NETFULL" (потому что я нацеливаюсь на несколько пользователей), он весь серый, и у меня нет intellisense.

Как я могу сказать VS: теперь давайте переключимся наNETFULL mode?

NB Конечно, я могу удалить условие, но я хочу знать, почему оно серое и как я могу переключаться между ними (так как я использую многоцелевой режим)

Ответы [ 3 ]

1 голос
/ 08 июня 2019

Объявите символ условной компиляции в файле .csproj:

<PropertyGroup Condition="'$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net46'">
  <DefineConstants>NETFULL</DefineConstants>
</PropertyGroup>

Переключайтесь между целевыми средами, используя раскрывающийся список в верхнем левом углу области кода:

enter image description here enter image description here

0 голосов
/ 08 июня 2019

Это условные символы компиляции, которые вы определяете в свойствах вашего проекта.

Перейдите на вкладку proprties вашего проекта и выберите вкладку Build. Там вы можете определить эти символы.

enter image description here

0 голосов
/ 08 июня 2019

Переопределить TargetFrameworks.Используйте тот же синтаксис, просто вставьте другие цели.

...