如果安裝了多個 dotnet 版本,如何在 Ubuntu 20.04 服務配置中選擇 dotnet 的特定版本?
示例服務配置:
[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]
uj5u.com熱心網友回復:
這不是運行時設定,而是構建時設定。
在構建應用程式時,您必須選擇使用什么 SDK 來編譯它以及它的目標是什么 .NET 運行時。
在構建應用程式并且您希望運行它之后,所有的決定都已經做出,您無法真正改變它們,除非讓自己變得更加困難。
您可以使用global.json來選擇使用哪個 SDK。您可以使用專案檔案本身 ( .csproj) 通過TargetFramework適當設定來選擇使用哪個運行時。
有關更多詳細資訊,請參閱https://docs.microsoft.com/en-us/dotnet/core/versions/selection。
一旦你dotnet publish編輯了你的應用程式,所有這些決定都會被凍結。
uj5u.com熱心網友回復:
將會有一個擴展名為 .runtimeconfig.json 的檔案
這顯示了將使用的框架。
使用 .net core 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
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367811.html
