2017-10-20 106 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工具自動處理,而不是我的。