0

我对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 上运行?

谢谢

4

1 回答 1

0

该条件定义仅具有其自己项目的范围(针对和其他目标的 .NET Standard 类库net452)。

因此,当您的项目通过 NuGet 或项目引用使用库时,最终效果就像“.NET Framework 4.5.2 及更高版本”。您可以通过进行一些实验轻松地对其进行测试。

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

于 2017-10-22T02:49:43.520 回答