Как я могу использовать директивы препроцессора в C# для выполнения некоторого кода только в Windows 10?

#c# #.net #preprocessor-directive

Вопрос:

Как я могу использовать директивы препроцессора (например, #define) в .NET для выполнения некоторого кода только в windows10? не например, в windows7?

Комментарии:

1. Не с директивами препроцессора, так как вы не перекомпилируете свою программу для разных операционных систем.

2. Обычного «если Environment.GetVersion » должно быть достаточно.

Ответ №1:

Директивы препроцессора влияют на то, как компилируется код; если вы используете здесь директиву препроцессора, вам нужно будет скомпилировать ее отдельно для Windows 10 и Windows 7 и указывать людям использовать только правильный exe. Вероятно, это не то, чего ты хочешь. Вместо этого, возможно, просто:

 if (System.OperatingSystem.IsWindowsVersionAtLeast(10))
{
    // ...
}
 

(документы)

Обратите внимание, что в настоящее время это не работает для предварительного просмотра Windows 11 с использованием 11 в качестве входных данных.