Определение условного 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 автоматически, а не моими.