Ubuntu 20.04安装.NET 4.7.2运行时遇包找不到问题求助
嘿,我来帮你解决这个安装问题~
问题原因分析
首先得明确一个关键区别:你想安装的.NET Runtime 4.7.2其实是Windows专属的.NET Framework版本,Ubuntu这类Linux系统并不原生支持它。
你用的sudo apt-get install -y dotnet-runtime-4.7.2命令,是在找跨平台的.NET(原.NET Core)软件包,但.NET Framework的包根本不在Ubuntu的官方软件源里,所以自然会出现「找不到该软件包」的错误。
另外补充一下:Ubuntu 20.04支持的是跨平台的.NET系列(比如.NET Core 3.1、.NET 5/6/7等),但确实不支持.NET Framework 4.7.2。
解决方案
根据你的需求,分两种情况给出处理办法:
情况1:你需要运行.NET Framework 4.7.2编写的Windows应用
可以用Mono——一个开源的.NET Framework兼容实现,来在Ubuntu上运行这类应用,步骤如下:
- 先添加Mono的官方软件源:
sudo apt install apt-transport-https dirmngr gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update - 然后安装Mono运行时:
sudo apt install -y mono-runtime
注意:Mono对.NET Framework的兼容性并非100%完美,涉及Windows专属API的应用可能无法正常运行,但绝大多数常规应用都能正常工作。
情况2:你混淆了.NET Framework和跨平台.NET,实际需要的是跨平台版本
如果是这种情况,你需要先添加微软的跨平台.NET软件源,再安装对应版本:
- 添加微软官方源:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb - 更新源后,安装你需要的跨平台.NET Runtime(比如以.NET 6为例):
sudo apt update sudo apt install -y dotnet-runtime-6.0 - 你也可以用
sudo apt search dotnet-runtime命令,查看当前源里可用的所有跨平台.NET Runtime版本,选择你需要的安装即可。
内容的提问来源于stack exchange,提问作者Volvo




