作者:匿名
更新:4小时前

0. 目的

我电脑的VS升级到了VS2026,项目也顺利升到了.NET 10.0, 现在想将项目部署到Ubuntu24.04,这台VPS之前部署的是.NET 9.0,所以我要先卸载旧的,再安装新的.NET 10.0.

解决的主要问题:微软官方的包源不包含适用于Ubunt24.04,Ubuntu26.04的.NET10.0, Ubunt22.04是有的。

unnamed.jpg

1.查询当前安装的runtime,SDK

dotnet --list-sdks
dotnet --list-runtimes
Microsoft.AspNetCore.App 9.0.0 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 9.0.0 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

2. Ubuntu24.04卸载旧版.NET runtime 9.0

2.1使用 apt 卸载指定版本

如果你是通过 Microsoft 官方仓库或 Ubuntu 包安装的:

sudo apt remove dotnet-sdk-9.0
sudo apt remove dotnet-runtime-9.0

dotnet-sdk-9.0 → 卸载开发工具链(编译器、CLI 等)

dotnet-runtime-9.0 → 卸载运行时(仅运行应用所需)

2.2 清理残留依赖

sudo apt autoremove

这会自动删除不再需要的依赖包。

3.安装.NET runtime 10.0 

3.1 添加 Microsoft 官方包源

注意此处有坑:

微软官方的Ubuntu24.04安装.NET 10.0教程 ,添加源的命令不管用,还没有适用Ubuntu 24.04 的.NET 10.0

$ sudo add-apt-repository --remove ppa:dotnet/backports
PPA publishes dbgsym, you may need to include 'main/debug' component
Repository: 'Types: deb
URIs: https://ppa.launchpadcontent.net/dotnet/backports/ubuntu/
Suites: noble
Components: main
'
Description:
The backports archive provides source-built .NET packages in cases where a version of .NET is not available in the archive for an Ubuntu release.

Currently available Ubuntu releases and .NET backports:

Ubuntu 26.04 LTS (Resolute Raccoon)
├── .NET 8.0 (End of Life on November 10th, 2026) [amd64 arm64]
└── .NET 9.0 (End of Life on November 10th, 2026) [amd64 arm64 s390x ppc64el]

Ubuntu 24.04 LTS (Noble Numbat)
├── .NET 6.0 (End of Life on November 12th, 2024) [amd64 arm64]
├── .NET 7.0 (End of Life on May 14th, 2024)      [amd64 arm64]
└── .NET 9.0 (End of Life on November 10th, 2026) [amd64 arm64 s390x ppc64el]

Ubuntu 22.04 LTS (Jammy Jellyfish)
├── .NET 9.0 (End of Life on November 10th, 2026) [amd64 arm64 s390x ppc64el]
└── .NET 10.0 (End of Life on November 14th, 2028) [amd64 arm64 s390x ppc64el]

以下方式安装的源也找不到包:

wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

3.2 安装 .NET 10 Runtime 或 SDK

使用官方脚本安装(推荐,100% 可用)

这种方法适用于所有 Linux 发行版,特别是在包管理器掉链子的时候。它会将 .NET 安装到 ~/.dotnet 目录下。

  1. 下载安装脚本:

    wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
    chmod +x dotnet-install.sh
  2. 执行脚本安装 .NET 10 Runtime:

    • 仅安装 Runtime (运行普通应用):

      ./dotnet-install.sh --channel 10.0 --runtime dotnet
    • 安装 ASP.NET Core Runtime (运行 Web 应用):

      ./dotnet-install.sh --channel 10.0 --runtime aspnetcore
  3. 配置环境变量(关键步骤): 脚本默认安装在 ~/.dotnet,你需要告诉系统去哪里找 dotnet 命令。

    编辑您的 shell 配置文件(通常是 .bashrc.zshrc):

    nano ~/.bashrc

    在文件末尾添加以下两行:

    export DOTNET_ROOT=$HOME/.dotnet
    export PATH=$PATH:$HOME/.dotnet:$HOME/.dotnet/tools

    保存并退出 (Ctrl+O, Enter, Ctrl+X)。

  4. 使配置生效:

    source ~/.bashrc
  5. 验证:

    dotnet --info

    您应该能看到 .NET 10.0 已成功安装。

4. 验证安装

dotnet --list-runtimes
dotnet 
Tags: Ubuntu   Dotnet10  
4小时前
15
1
0