如何在#if语句中设置.NET Core进行编译 [英] How to set .NET Core in #if statement for compilation
问题描述
我创建了一个多目标框架项目。我使用这样的东西:
#if NET40
Console.WriteLine(。NET Core 4的Hello) ;
#endif
但是我找不到.NET Core的通配符。我尝试过:
#if NETCOREAPP1.0
Console.WriteLine(来自.NET Core的Hello);
#endif
但这不是有效的声明。
您需要使用下划线 _
代替点:
NETCOREAPP1_0
或更新的 NETCOREAPP1_1
和 NETCOREAPP2_0
文章 使用跨平台工具开发库 包含不同预处理器符号的列表。
.NET Framework 2.0:NET20
.NET Framework 3.5:NET35
.NET Framework 4.0 :NET40
.NET Framework 4.5-> NET45
.NET Framework 4.5.1-> NET451
.NET Framework 4.5.2-> NET452
.NET Framework 4.6-> NET46
.NET Framework 4.6.1-> NET461
.NET Framework 4.6.2-> NET462
。 NET Standard 1.0-> NETSTANDARD1_0
.NET Standard 1.1-> NETSTANDARD1_1
$ b $ p <.NET Standard 1.2-> NETSTANDARD1_2
.NET Standard 1.3-> NETSTANDARD1_3
.NET Standard 1.4-> NETSTANDARD1_4
.NET Standard 1.5-> NETSTANDARD1_5
.NET Standard 1.6-> NETSTANDARD1_6
I created a multi-targeted framework project. I use something like this:
#if NET40
Console.WriteLine("Hello from .NET Core 4");
#endif
But I can't find a wildcard for .NET Core. I tried:
#if NETCOREAPP1.0
Console.WriteLine("Hello from .NET Core");
#endif
But it is not valid statement.
You need an underscore, _
, instead of a point:
NETCOREAPP1_0
or the more recent NETCOREAPP1_1
and NETCOREAPP2_0
The article Developing Libraries with Cross Platform Tools includes a list for the different preprocessor symbols.
.NET Framework 2.0: NET20
.NET Framework 3.5: NET35
.NET Framework 4.0: NET40
.NET Framework 4.5 --> NET45
.NET Framework 4.5.1 --> NET451
.NET Framework 4.5.2 --> NET452
.NET Framework 4.6 --> NET46
.NET Framework 4.6.1 --> NET461
.NET Framework 4.6.2 --> NET462
.NET Standard 1.0 --> NETSTANDARD1_0
.NET Standard 1.1 --> NETSTANDARD1_1
.NET Standard 1.2 --> NETSTANDARD1_2
.NET Standard 1.3 --> NETSTANDARD1_3
.NET Standard 1.4 --> NETSTANDARD1_4
.NET Standard 1.5 --> NETSTANDARD1_5
.NET Standard 1.6 --> NETSTANDARD1_6
这篇关于如何在#if语句中设置.NET Core进行编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!