1.APT 安装
使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。
打开终端并运行以下命令:
Bash复制
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
安装 SDK
.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:
Bash复制
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0
2.脚本安装
dotnet-install 脚本用于 SDK 和运行时的自动化和非管理员安装。
Bash复制
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --version latest
有关详细信息,请参阅 dotnet-install 脚本参考。
若要在命令行上启用 .NET,请参阅设置系统范围的环境变量。
在 shell 配置文件中设置以下两个环境变量:
手动安装 .NET 不会添加系统范围的环境变量,并且通常仅适用于安装 .NET 的会话。 应为操作系统设置两个环境变量:
DOTNET_ROOT
此变量设置为 .NET 安装到的文件夹,例如 $HOME/.dotnet
(对于 Linux 和 macOS )和 PowerShell 中的 $HOME\.dotnet
(对于 Windows)。
PATH
此变量应同时包含 DOTNET_ROOT
文件夹和用户的 .dotnet/tools 文件夹。 通常,在 Linux 和 macOS 上为 $HOME/.dotnet/tools
,在 Windows 上为 PowerShell 中的 $HOME\.dotnet\tools
。
提示
对于 Linux 和 macOS,请使用 echo
命令在 shell 配置文件中设置变量,例如 .bashrc:
Bash复制
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
问题处理:bash: dotnet: command not found
某些情况下,当使用APT安装完成之后,dotnet --info
显示 命令没有找到!使用ll查看 “/usr/bin/dotnet” 链接 指向 “/usr/share/dotnet/dotnet”,但是/usr/share/dotnet/dotnet中并没有dotnet文件。
ll /usr/bin/dotnet
lrwxrwxrwx 1 root root 24 Dec 28 19:22 /usr/bin/dotnet -> /usr/share/dotnet/dotnet
发现APT安装时缺少文件,产生的文件数量不完整。
处理方法:先使用安装脚本安装到 “.dotnet/”文件夹下,拷贝文件到 /usr/share/dotnet,再 使用 ln 链接到 /usr/share/dotnet/dotnet(已创建链接,可以跳过),然后删除 .dotnet 文件夹。
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh
cp -r -n .dotnet/* /usr/share/dotnet
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
rm -rf .dotnet
注意:APT安装 在 “.dotnet”文件夹 ,脚本安装 在 “/usr/share/dotnet”文件夹中。所以不要两种安装方法同时,会创建两个副本,占用1个G的空间。可以使用上面的命令,脚本安装,复制子文件后删除一个副本。
问题处理:找不到\无法安装某些包
如果收到类似于“找不到包 {dotnet-package}”或“无法安装某些包”的错误消息,请运行以下命令。
以下命令组中有两个占位符。
{dotnet-package}
此项表示要安装的 .NET 包,如 aspnetcore-runtime-8.0
。 它在以下 sudo apt-get install
命令中使用。
{os-version}
这表示你正在使用的发行版。 此项在以下 wget
命令中使用。 发行版是数值,如 Ubuntu 上的 20.04
或 Debian 上的 10
。
首先,尝试清除包列表:
Bash复制
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
然后,再次尝试安装 .NET。 如果这不起作用,可使用以下命令运行手动安装:
Bash复制
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/debian/{os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
手动删除 .NET 运行时和 SDK
如果使用 dotnet-install 脚本或通过提取 tarball 来安装 .NET,则必须使用手动方法删除 .NET。
手动安装 .NET 时,它通常安装到 /usr/share/dotnet/
、/usr/lib/dotnet/
或 $HOME/.dotnet
目录中。 SDK、运行时和 .NET 主机安装到单独的子目录中。 这些“组件”目录包含每个 .NET 版本的目录。 通过删除版本控制目录,可以从系统中删除该版本的 .NET。 这些目录可能因你的 Linux 分发版而异。
可以使用三个命令来发现 .NET 的安装位置:dotnet --list-sdks
(用于 SDK)、dotnet --list-runtimes
(用于运行时)和 dotnet --info
(用于所有内容)。 这些命令不会列出 .NET 主机。 若要确定安装了哪些主机,请检查 /usr/share/dotnet/host/fxr/
目录。 以下列表表示特定版本的 .NET 的目录,其中 $version
变量表示 .NET 的版本:
- SDK:
/usr/share/dotnet/sdk/$version/
- 运行时:运行时基于特定的 .NET 产品运行时,例如
Microsoft.AspNetCore.All
或 Microsoft.NETCore.App
(特别是 .NET 运行时)。 它们将安装到 /usr/share/dotnet/shared/$product/$version
目录,其中 $product
是产品运行时。 例如,可能会看到以下目录:复制/usr/share/dotnet/shared/Microsoft.NETCore.App/$version/ /usr/share/dotnet/shared/Microsoft.AspNetCore.App/$version/ /usr/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
- .NET 主机
/usr/share/dotnet/host/fxr/$version/
使用 rm -rf
命令删除 .NET 版本。 例如,若要删除 6.0.406 SDK,请运行以下命令:
Bash复制
sudo rm -rf /usr/share/dotnet/sdk/6.0.406
重要
版本目录可能与要卸载的“版本”不匹配。 与单个 .NET 版本一起安装的各个运行时和 SDK 可能具有不同的版本。 例如,你可能安装了 ASP.NET Core 8 运行时,其中安装了 8.0.2 ASP.NET Core 运行时和 8.0.8. NET 运行时。 二者有不同版本的目录。 有关详细信息,请参阅 .NET 的版本控制方式概述。
使用 URL 配置终结点
以下部分介绍如何使用以下方式配置终结点:
在 Linux 上使用 linux-dev-certs 信任 HTTPS 证书
dotnet tool update -g linux-dev-certs
dotnet linux-dev-certs install
安装dotnet 脚本
dotnet tool install -g csharprepl
dotnet tool install -g dotnet-script
dotnet tool install -g Microsoft.dotnet-httprepl
查看安装的脚本
dotnet tool list -g
其他命令:
install <PACKAGE_ID> Install global or local tool. Local tools are added to manifest and restored.
uninstall <PACKAGE_ID> Uninstall a global tool or local tool.
update <PACKAGE_ID> Update a global or local tool.
list <PACKAGE_ID> List tools installed globally or locally.
run <COMMAND_NAME> <toolArguments> Run a local tool. Note that this command cannot be used to run a global tool.
search <SEARCH_TERM> Search dotnet tools in nuget.org
restore Restore tools defined in the local tool manifest.