如何在Ubuntu 20.04服务配置中选择特定版本的dotnet



如果安装了多个dotnet版本,我如何在Ubuntu 20.04服务配置中选择特定版本的dotnet?

示例服务conf:

[Unit]
Description=example .NET Web App running on Ubuntu
[Service]
WorkingDirectory=/var/www/example.com
ExecStart=/usr/bin/dotnet /var/www/axample.com/WebApplication.dll

如何更改ExecStart=/usr/bin/dotnet哪个版本5?

dotnet --info : 
.NET SDK (reflecting any global.json):
Version:   6.0.100
Commit:    9e8b04bbff
Runtime Environment:
OS Name:     ubuntu
OS Version:  20.04
OS Platform: Linux
RID:         ubuntu.20.04-x64
Base Path:   /usr/share/dotnet/sdk/6.0.100/
Host (useful for support):
Version: 6.0.0
Commit:  4822e3c3aa
.NET SDKs installed:
3.1.415 [/usr/share/dotnet/sdk]
5.0.403 [/usr/share/dotnet/sdk]
6.0.100 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 3.1.21 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.12 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.21 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.12 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

这不是运行时设置,而是构建时设置。

当您构建应用程序时,您必须选择用于编译它的SDK以及它针对的.NET运行时。

在构建了应用程序并希望运行它之后,所有的决定都已经做出了,如果不让事情变得更加困难,你就无法真正改变它们。

您可以使用global.json来选择要使用的SDK。您可以使用项目文件本身(.csproj(,通过适当设置TargetFramework来选择使用哪个运行时。

请参阅https://learn.microsoft.com/en-us/dotnet/core/versions/selection了解更多详细信息。

一旦您对应用程序进行了dotnet publish审核,所有这些决定都将被冻结。

将有一个扩展名为.runtimeconfig.json 的文件

这显示了将要使用的框架。

使用.net核心3.1.0的项目示例:

{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.AspNetCore.App",
"version": "3.1.0"
},
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

相关内容

  • 没有找到相关文章

最新更新