所有分类
  • 所有分类
  • 游戏源码
  • 网站源码
  • 单机游戏
  • 游戏素材
  • 搭建教程
  • 精品工具

ubuntu安装dotnet方法|零基础详细教程|官方源配置+避坑指南|命令行快速上手

ubuntu安装dotnet方法|零基础详细教程|官方源配置+避坑指南|命令行快速上手 一

文章目录CloseOpen

准备工作:先搞懂这两个核心问题,安装少踩坑

在动手之前,你得先弄明白两个关键点,不然很容易白忙活。我见过太多人一上来就敲命令,结果装错版本或者漏装组件,最后还得卸载重来。

SDK和Runtime,你到底需要装哪个?

这俩词听起来挺专业,其实用大白话讲很简单。SDK(Software Development Kit)就像个“全能工具箱”,里面有编译器、调试器,还有运行程序的环境,如果你要自己写.NET代码、编译项目,就得装SDK;而Runtime(运行时)就像个“播放器”,只能运行别人已经编译好的.NET程序,如果你只是想跑个现成的软件,比如部署别人开发的网站,装Runtime就够了。

我之前帮一个做运维的朋友装环境,他本来只想运行一个.NET Core写的后端服务,结果跟着教程装了SDK,后来一查占用空间,多了快3个G,其实他只需要装Runtime里的ASP.NET Core Runtime就行。所以你先想清楚:你是要“开发”还是“运行”?别花冤枉空间。

检查你的Ubuntu版本,别让系统不兼容拖后腿

不是所有Ubuntu版本都支持最新的dotnet,比如Ubuntu 18.04现在已经不支持dotnet 7.0以上版本了。你得先确认自己的系统版本是否在微软支持的列表里,不然装了也用不了。

怎么看系统版本?打开终端,敲这条命令:lsb_release -a,输出里的“Release”字段就是版本号,比如“20.04”“22.04”。然后对照下面这个表格(数据来自微软官方文档,你也可以点这里去官网查最新支持情况):

Ubuntu版本 支持的.NET版本 支持状态
22.04 LTS 6.0、7.0、8.0 官方长期支持
20.04 LTS 6.0、7.0、8.0 官方长期支持
18.04 LTS 3.1、5.0(已停止支持) 不再提供更新
23.10 7.0、8.0 短期支持(9个月)

如果你的Ubuntu版本太旧(比如16.04), 先升级系统,或者选一个官方支持的dotnet版本。微软官网会实时更新支持列表,装之前花2分钟确认一下,能少走很多弯路。

实操步骤:从源配置到验证,每步都有坑点提示

准备工作做好了,现在开始动手。我把步骤拆成了“配置官方源”“安装组件”“验证是否成功”三部分,每个步骤都标了我之前踩过的坑,你跟着做就能避开。

第一步:配置微软官方源,别用第三方源瞎折腾

很多人安装失败,问题就出在“源”上。网上有些教程让你用第三方PPA源,虽然可能装得快,但容易遇到密钥过期、版本混乱的问题。微软其实提供了官方源,安全又稳定,我 你优先用这个。

具体怎么做?打开终端,按顺序敲下面这些命令,每步我都标了作用,你不用死记硬背,复制粘贴就行:

  • 安装依赖包:先装几个Linux系统常用的工具,确保能添加HTTPS源和验证密钥。
  •  sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
    

    我之前帮朋友装的时候,他跳过了这步,结果后面添加源时提示“无法验证证书”,回头补装就好了。

  • 导入微软公钥:这步是为了让系统信任微软的源,避免“密钥无效”的报错。
  • bash

    curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg dearmor -o /usr/share/keyrings/microsoft-prod.gpg

    注意这里的链接是微软官方的,如果你遇到“连接超时”,可以试试换个网络,或者用国内镜像(但镜像可能不是最新的,优先 官方源)。

  • 添加dotnet源:根据你的Ubuntu版本,选对应的源。比如Ubuntu 22.04就用这条:
  • bash

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/22.04/prod jammy main" | sudo tee /etc/apt/sources.list.d/microsoft-prod.list > /dev/null

    这里的“22.04”和“jammy”要对应你的系统版本,比如20.04是“focal”,18.04是“bionic”。如果你不知道怎么对应,可以查微软官方的版本代码表(页面里搜“Ubuntu 版本代码名称”)。

  • 更新源列表:让系统识别刚添加的源。
  • bash

    sudo apt-get update

    这步跑完如果有“GPG错误”,十有八九是公钥没导对,回去重新执行第二步。

    第二步:安装命令这么敲,版本对应不上白忙活

    源配好了,接下来就是装具体的组件。根据你之前确定的“SDK”或“Runtime”,选对应的命令。我列几个常用的,你直接挑:

  • 装SDK(开发用):比如装最新的dotnet 8.0 SDK
  • bash

    sudo apt-get install -y dotnet-sdk-8.0

  • 装Runtime(运行普通程序):比如装dotnet 8.0 Runtime
  • bash

    sudo apt-get install -y dotnet-runtime-8.0

  • 装ASP.NET Core Runtime(运行Web程序):如果是部署网站、API服务,用这个
  • bash

    sudo apt-get install -y aspnetcore-runtime-8.0

    这里有个坑:版本号要和你系统支持的对应。比如Ubuntu 20.04可以装8.0,但如果你非要装9.0(目前预览版),可能会提示“无可用包”。如果你想知道当前有哪些版本可以装,敲这条命令看列表:

    bash

    sudo apt-cache search dotnet-sdk

    输出里带“dotnet-sdk-XX”的就是可用的SDK版本,选一个数字最大的稳定版就行(别选带“preview”的预览版,容易有bug)。

    我之前帮人装的时候,他明明Ubuntu是20.04,非要装dotnet 9.0预览版,结果提示“依赖不满足”,后来换成8.0就顺利装上了。所以别追新,稳定最重要。

    第三步:验证安装是否成功,两个命令就能测

    装完别急着关终端,验证一下是否真的能用。敲两条命令:

  • 查看版本
  • dotnet version,如果输出类似“8.0.100”的版本号,说明SDK或Runtime装好了;

  • 运行测试程序:如果装了SDK,试试创建个空项目跑一下:
  • bash

    dotnet new console -o testapp && cd testapp && dotnet run

    正常情况下会输出“Hello World!”,这就说明环境没问题了。

    如果

    dotnet version提示“命令未找到”,先检查是不是装的时候报错了,或者PATH环境变量没配好(一般装SDK/Runtime会自动配,很少出问题)。如果跑测试程序时报“缺少依赖”,可能是Runtime没装对,比如你跑的是Web程序,却只装了普通Runtime,这时候补装ASP.NET Core Runtime就行。

    常见报错解决:遇到这3个问题,按图索骥就能搞定

    就算跟着步骤来,也可能遇到小插曲。我整理了3个最常见的错误和解决办法,你照着试:

  • 错误1:无法定位包 dotnet-sdk-8.0
  • → 原因:源没配对,或者系统版本不支持这个SDK版本。

    → 解决:重新检查第三步的源配置命令,确保版本代码(比如“jammy”)和你的Ubuntu版本对应,然后

    sudo apt-get update再试。

  • 错误2:E: 无法验证签名,公钥未安装
  • → 原因:微软公钥没导入成功。

    → 解决:重新执行“导入微软公钥”那步,确保命令里的链接能访问,或者手动下载公钥文件再导入。

  • 错误3:依赖关系问题
  • 仍未被解决
  • → 原因:系统缺少某些基础库,比如libssl。

    → 解决:试试自动修复依赖:

    sudo apt fix-broken install,跑完再装dotnet。

    如果你遇到其他报错,截图保存错误信息,去微软的Linux安装故障排除页面搜关键词,基本都能找到答案。

    好了,这套流程走下来,你的Ubuntu上应该已经能正常用dotnet了。我自己用Ubuntu 22.04装dotnet 8.0,从开始到验证成功,一共花了25分钟,中间因为源配置时版本代码输错,多花了5分钟,改过来就好了。

    如果你按这些步骤试了,不管成功还是遇到新问题,都欢迎回来告诉我!成功了给我点个赞,遇到问题咱们一起看看怎么解决~


    你装dotnet的时候要是弹出“无法定位包”,十有八九是源的问题——要么是你配的源不对,要么就是源列表没更新,系统根本不知道去哪里找这个包。我之前帮一个刚接触Linux的同事弄的时候,他就是跟着网上一个旧教程抄的源地址,结果里面的Ubuntu版本代码都过时了,自然找不到包。其实这个问题解决起来不难,你跟着我一步步排查就行,不用慌。

    你先打开终端,输个命令看看微软的源文件对不对:cat /etc/apt/sources.list.d/microsoft-prod.list。打开文件后,你重点看里面的版本代码,比如“jammy”对应的是Ubuntu 22.04,“focal”是20.04,“bionic”是18.04,这个代码必须和你的Ubuntu版本对上。我之前遇到过有人用的是Ubuntu 20.04,源文件里却写着“jammy”,系统一看版本不匹配,肯定说“找不到包”。要是代码对不上,你就按文章里说的重新配置一遍官方源;要是代码没问题,那就简单了,输sudo apt-get update刷新一下源列表,让系统重新识别包的位置,一般刷新完再装就没问题了。我自己上次就是源没问题,但忘了刷新,折腾半天,刷新完一秒就找到了包,你可别犯这种小迷糊。


    如何卸载Ubuntu上已安装的dotnet版本?

    可以通过apt命令卸载。先查看已安装的dotnet包:sudo apt list installed | grep dotnet,找到对应版本(如dotnet-sdk-8.0),然后执行卸载命令:sudo apt-get remove -y 包名(例如sudo apt-get remove -y dotnet-sdk-8.0)。如需彻底清除残留文件,可添加purge参数:sudo apt-get remove purge -y 包名

    安装dotnet时提示“无法定位包”怎么办?

    通常是源配置错误或未更新源导致。先检查微软官方源是否正确添加:cat /etc/apt/sources.list.d/microsoft-prod.list,确认文件中Ubuntu版本代码(如“jammy”对应22.04)是否与你的系统匹配。若源无误,执行sudo apt-get update刷新源列表;若源错误,按文章步骤重新配置官方源并更新即可。

    如何查看Ubuntu上已安装的dotnet版本?

    直接在终端执行dotnet version,会显示当前默认的SDK或Runtime版本(如8.0.100)。若需查看所有已安装版本,可执行dotnet list-sdks(查看SDK)或dotnet list-runtimes(查看Runtime),列出系统中所有安装的dotnet版本信息。

    旧版Ubuntu(如18.04)不支持最新dotnet版本怎么办?

    若Ubuntu版本不在微软支持列表(如18.04不支持dotnet 7.0+),有两种方案:一是安装该系统支持的旧版dotnet(如18.04可安装dotnet 6.0,需确认微软官网支持信息);二是升级Ubuntu系统至较新版本(如20.04 LTS或22.04 LTS),升级后按文章步骤安装最新dotnet。 优先考虑升级系统以获得更好的兼容性和安全更新。

    原文链接:https://www.mayiym.com/45302.html,转载请注明出处。
    0
    显示验证码
    没有账号?注册  忘记密码?

    社交账号快速登录

    微信扫一扫关注
    如已关注,请回复“登录”二字获取验证码