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

如何确认IIS上部署的.NET 6应用正使用.NET 6运行时?

如何确认IIS上部署的.NET应用正在使用.NET 6运行?

问题描述

我已在IIS上构建并部署了一个.NET 6(版本6.0.300)应用,该应用包含如下global.json文件:

{
    "sdk": {
        "version": "6.0.300"
    }
}

IIS应用池的.NET CLR版本配置为“No Managed Code”。系统中还安装了旧版本的.NET(3.1.421),执行dotnet --version命令显示版本为3.1.425,dotnet --info显示已安装的.NET运行时包括:

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

如何确切确认该应用正使用.NET 6版本运行?

确认方法

  • 在应用内添加版本查询接口
    在ASP.NET Core应用中新增一个接口,直接返回当前运行的.NET版本信息,示例代码如下:

    [ApiController]
    [Route("api/runtime-version")]
    public class RuntimeVersionController : ControllerBase
    {
        [HttpGet]
        public IActionResult GetRuntimeInfo()
        {
            return Ok(new
            {
                DotNetRuntimeVersion = System.Environment.Version.ToString(),
                AspNetCoreVersion = typeof(Microsoft.AspNetCore.Mvc.ControllerBase).Assembly.GetName().Version.ToString()
            });
        }
    }
    

    部署后访问该接口,即可直接看到应用实际使用的运行时版本。

  • 查看应用进程的运行时路径

    1. 打开任务管理器,找到对应应用的dotnet.exe进程(自包含部署则是你的应用主程序.exe);
    2. 右键进程选择「打开文件所在位置」,定位到dotnet.exe;
    3. 右键该exe文件,选择「属性」-「详细信息」,查看产品版本,6.x开头的即为.NET 6运行时;
      也可以用PowerShell快速查询:
    Get-Process dotnet | Select-Object Id, Path, @{Name='DotNetVersion'; Expression={[System.Diagnostics.FileVersionInfo]::GetVersionInfo($_.Path).ProductVersion}}
    
  • 检查应用启动日志
    .NET应用启动时会在日志中记录运行时版本信息,查看ASP.NET Core的应用日志(默认在Logs目录)或IIS站点日志,找到包含.NET Runtime或ASP.NET Core的启动条目,其中会明确标注使用的运行时版本。

  • 使用dotnet-trace工具追踪

    1. 安装工具:
      dotnet tool install --global dotnet-trace
      
    2. 获取应用进程ID(任务管理器中查看),执行追踪命令:
      dotnet-trace collect --process-id <进程ID> --providers Microsoft-Windows-DotNETRuntime
      
    3. 生成的.nettrace文件可通过PerfView打开,在日志中能找到应用使用的.NET运行时版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:53:00