【问题标题】:What are the preprocessor symbols defined for .Net 5.0?为 .Net 5.0 定义的预处理器符号是什么?
【发布时间】:2020-07-14 10:34:55
【问题描述】:

在定位 .Net 5.0 时,您会在 #if 中使用什么?

即对于其他框架

.NET 框架

网络框架、NET20、NET35、NET40、NET45、NET451、NET452、NET46、NET461、NET462、NET47、NET471、NET472、NET48

.NET 标准

NETSTANDARD、NETSTANDARD1_0、NETSTANDARD1_1、NETSTANDARD1_2、NETSTANDARD1_3、NETSTANDARD1_4、NETSTANDARD1_5、NETSTANDARD1_6、NETSTANDARD2_0、NETSTANDARD2_1

.NET Core

NETCOREAPP、NETCOREAPP1_0、NETCOREAPP1_1、NETCOREAPP2_0、NETCOREAPP2_1、NETCOREAPP2_2、NETCOREAPP3_0、NETCOREAPP3_1

【问题讨论】:

标签: c# .net-5


【解决方案1】:

如果您将构建输出设置为“详细”并尝试此操作今天,您应该会看到类似的内容(在输出的其余部分中 - 靠近 csc.exe 提及):

/define:TRACE;DEBUG;NETCOREAPP;NETCOREAPP5_0

所以:NETCOREAPP5_0 是您正在寻找的 - 但是:这是否保持不变在发布时可能会改变。您可以在以后重复相同的过程来找出答案。

【讨论】:

    【解决方案2】:

    在 .NET 5 发布之前,dotnet/sdk#12124 中的预处理器定义已更改为适合 this design。发布版本定义:

    NETCOREAPP
    NET5_0
    

    这也记录在#if (C# reference) 中。它不再定义NETCOREAPP5_0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2013-09-11
      • 1970-01-01
      • 2015-08-28
      • 2010-09-26
      • 2021-01-17
      • 1970-01-01
      • 2014-11-23
      相关资源
      最近更新 更多