如何在#if语句中设置.NET Core进行编译 [英] How to set .NET Core in #if statement for compilation

查看:898
本文介绍了如何在#if语句中设置.NET Core进行编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个多目标框架项目。我使用这样的东西:

  #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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆