.NET Core 当前版本

Posted

技术标签:

【中文标题】.NET Core 当前版本【英文标题】:.NET Core current version 【发布时间】:2018-11-11 09:57:39 【问题描述】:

如何确定我的应用在哪个版本的 .NET Core 中运行?

我试图从 IHostingEnvironment(还有 Startup.cs 和 Program.cs)中确定这一点,但没有成功。

这个问题:Get Current .NET CLR version at runtime? 与 .NET Framework 有关。我的问题是关于 .NET Core。

【问题讨论】:

【参考方案1】:

您可以从Microsoft.Extensions.PlatformAbstractions 下的PlatformServices.Default.Application.RuntimeFramework 属性获取运行时版本。

Program.cs:

Console.WriteLine(PlatformServices.Default.Application.RuntimeFramework);

更新: 根据这个aspnet/Announcement,Microsoft.Extensions.PlatformAbstractions已经被去掉了,所以RuntimeFramework要替换成:

Console.WriteLine(System.Reflection.Assembly.GetEntryAssembly().GetCustomAttribute<TargetFrameworkAttribute>().FrameworkName);

【讨论】:

【参考方案2】:

其中一种快捷方式是转到菜单栏并选择Project-&gt;Properties-&gt;Application

然后你会看到你的项目使用的目标框架版本是什么。

【讨论】:

【参考方案3】:

如果不希望使用using System.Reflection;,则可以使用GetCustomAttributes

static string GetFrameworkName()
            => ((System.Runtime.Versioning.TargetFrameworkAttribute)
                    (System.Reflection.Assembly.GetEntryAssembly()
                    .GetCustomAttributes(typeof(System.Runtime.Versioning.TargetFrameworkAttribute), true)[0]))
                    .FrameworkName; // Example: .NETCoreApp,Version=v3.0

【讨论】:

以上是关于.NET Core 当前版本的主要内容,如果未能解决你的问题,请参考以下文章

win10已经安装了.net core还提示要安装

CentOS7下Docker与.net Core 2.2

CentOS7下使用Docker容器化.net Core 2.2

VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。

.NET平台系列26:在 Windows 上安装 .NET Core/.NET5/.NET6

如何解决“当前 .NET SDK 不支持面向 .NET Core 2.2”