2017-10-20 107 views
0

我对sharpsnmplib中的NET452条件符号的含义/使用感到困惑。一个例子是此属性在SnmpMessageExtension:sharpsnmplib中Conditional NET452的定义?

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

把条件规定徒有其自己的项目(一个.NET标准类库目标net452等)的范围。

因此,当您的项目通过NuGet或项目引用消耗库时,净效果就像“.NET Framework 4.5.2及以上版本”。您可以通过做一些实验来轻松测试。

所有技术细节都由.NET Core工具自动处理,而不是我的。