我对sharpsnmplib中NET452条件符号的含义/用法感到困惑。一个例子是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上运行吗?
由于
答案 0 :(得分:0)
该条件定义仅具有其自己的项目范围(针对net452
和其他人的.NET标准类库。)
因此,当您的项目通过NuGet或项目引用消耗库时,净效果就像" .NET Framework 4.5.2及更高版本"。您可以通过一些实验轻松测试它。
所有技术细节都由.NET Core工具自动处理,而不是我的。