Задать вопрос
Dyikot
@Dyikot

Почему не определен символ в условной компиляции?

Нужно определить сервис только для windows:
68188f5c50644372950870.png
Но почему-то подсвечивается серым.
Использую:
68188fac1fbc9265057818.png
И настройки build проекта:
68188ff97a11b215960682.png
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Вот эти #if WINDOWS работают только во время компиляции + как вы сами убедились, дебажить их не очень удобно.
Лучше вместо них использовать
using System.Runtime.InteropServices;
// ...
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
  // ...
}


PS: вот эту галку с Windows ставить не обязательно. По идее оно автоматически должно выставиться, если ты компилируешь под windows.
А серым может подсвечивать из-за того что VS использует какой-то другой таргет / другие флаги для анализа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы