【问题标题】:How can I choose spesific version of dotnet in Ubuntu 20.04 service configration?如何在 Ubuntu 20.04 服务配置中选择特定版本的 dotnet?
【发布时间】:2022-01-04 13:37:59
【问题描述】:

如果安装了多个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]

【问题讨论】:

    标签: ubuntu nginx .net-core


    【解决方案1】:

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

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

    在构建应用程序并且您希望运行它之后,所有决定都已经做出,您无法真正更改它们,否则会让事情变得更加困难。

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

    更多详情请见https://docs.microsoft.com/en-us/dotnet/core/versions/selection。

    一旦您dotnet published 您的应用程序,所有这些决定都将被冻结。

    【讨论】:

      【解决方案2】:

      会有一个扩展名为 .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
          }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        • 2021-12-20
        • 2021-10-14
        • 2020-12-24
        • 2018-08-07
        相关资源
        最近更新 更多