.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->Properties->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 当前版本的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7下使用Docker容器化.net Core 2.2
VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。