Определение условного NET452 в sharpsnmplib?

Я запутался в значении / использовании условного символа NET452 в sharpsnmplib. Одним из примеров является это свойство в SnmpMessageExtension:

    public static bool IsRunningOnWindows
    {
        get
        {
#if NET452
            return !IsRunningOnMono;
#elif NETSTANDARD1_3
            return RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
#else
            return false;
#endif
        }

Не означает ли это, что если я изменю целевую среду, скажем, на.NET версии 4.6.1, то это свойство всегда будет возвращать значение false, хотя я все еще работаю в Windows?

Спасибо

1 ответ

Решение

Это условное определение имеет только область действия своего собственного проекта (библиотека классов.NET Standard, предназначенная для net452 и другие).

Таким образом, когда ваш проект использует библиотеку через NuGet или ссылку на проект, чистый эффект подобен ".NET Framework 4.5.2 и выше". Вы можете легко проверить это, сделав несколько экспериментов.

Все технические детали обрабатываются инструментами.NET Core автоматически, а не моими.

Другие вопросы по тегам