检测.net核心2.0

War*_* P 11 c# .net-core .net-core-2.0

在dotnet core 2.0控制台应用程序中,输出:

Console.WriteLine("Hello World from "+ System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription);
Run Code Online (Sandbox Code Playgroud)

是一个意想不到的价值:

Hello World from .NET Core 4.6.00001.0
Run Code Online (Sandbox Code Playgroud)

有没有办法以编程方式检测.net core 2.0或更高版本,而不是2.0之前的.net核心平台?我意识到在大多数情况下你可能不应该这样做.但是在你确实需要这样做的奇怪情况下,你会怎么做?

Dav*_*idG 8

您可以使用为您预定义的预处理程序符号.例如:

var isNetCore2 = false;

#if NETCOREAPP2_0
    isNetCore2 = true;
#endif

Console.WriteLine($"Is this .Net Core 2: {isNetCore2}"); 
Run Code Online (Sandbox Code Playgroud)