You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

获取当前运行的.NET Core版本的实用方法

刚好我之前也碰到过这个问题——IHostingEnvironment(现在更推荐用IWebHostEnvironment或IHostEnvironment)主要负责管理应用的环境配置(比如开发/生产环境标识、内容根目录路径这类),确实拿不到.NET运行时的版本信息。下面给你几个在.NET Core(包括.NET 5+)里靠谱的实现方式:

  • 使用RuntimeInformation.FrameworkDescription
    这是最直接也最推荐的方法,它会返回包含完整版本信息的描述字符串,比如.NET 6.0.10或者.NET Core 3.1.20,连具体的补丁版本都能看到。

    代码示例(可以在Program.cs或Startup.cs里使用):

    using System.Runtime.InteropServices;
    
    // 在Program.cs的WebApplication构建完成后
    var app = builder.Build();
    var frameworkVersion = RuntimeInformation.FrameworkDescription;
    Console.WriteLine($"当前运行的.NET版本:{frameworkVersion}");
    
    // 或者在Startup.cs的Configure方法中注入依赖后使用
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        var frameworkVersion = RuntimeInformation.FrameworkDescription;
        // 可以将版本信息写入日志或用于其他业务逻辑
    }
    
  • 使用Environment.Version
    这个属性返回的是当前CLR的版本对象,你可以通过它的Major、Minor、Build、Revision属性提取具体的版本号。不过要注意:在.NET Core 3.0及以后的版本中,它返回的是.NET Runtime的核心版本(比如.NET 6会返回6.0.x),没有FrameworkDescription的信息详细,但也能满足基础的版本获取需求。

    代码示例:

    var clrVersion = Environment.Version;
    Console.WriteLine($"CLR版本:{clrVersion.Major}.{clrVersion.Minor}.{clrVersion.Build}.{clrVersion.Revision}");
    

内容的提问来源于stack exchange,提问作者Uros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:56:51