提问人:Matt W 提问时间:8/24/2023 更新时间:8/25/2023 访问量:39
如何确认 IIS 是否正在使用 dotnet 6
How to confirm IIS is using dotnet 6
问:
我已经在 IIS 下构建并部署了一个 dotnet 6 应用程序。应用程序包含以下文件:6.0.300
global.json
{
"sdk": {
"version": "6.0.300"
}
}
IIS 应用池配置为在 .NET CLR 版本下使用。No Managed Code
已安装 dotnet () 的早期版本。3.1.421
如果我运行命令,我会看到并显示:dotnet --version
3.1.425
dotnet --info
.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]
如何最终确认 net6 版本是否用于运行应用程序?
答:
1赞
Guru Stron
8/25/2023
#1
--version
输出 SDK 版本,而不是运行时。从文档中:
打印出命令使用的 .NET SDK 版本,该版本可能受文件影响。仅在安装 SDK 时可用。
dotnet
global.json
它与在运行时为应用选择的运行时无关。
而且您可以完全确定永远不会使用较旧的主要运行时版本,因为运行时选择不支持回滚到以前的主要版本(原因很明显)。
在 .NET 版本选择文档中:
依赖于框架的应用前
滚 主机选择计算机上安装的最新修补程序版本。例如,如果在项目文件中指定了该运行时,并且安装了最新的 .NET 运行时,则使用该运行时。net5.0
5.0.2
5.0.2
应用程序包含此global.json文件
global.json
确定用于生成应用的 SDK,但所需的运行时由指定的目标框架确定(即,可以使用 .NET 7 SDK 生成 .NET 6 应用)。
但是,如果你想真正确定,你总是可以通过编程方式检查版本:
Console.WriteLine(Environment.Version);
Console.WriteLine(RuntimeInformation.FrameworkDescription);
评论