找不到框架 'Microsoft.NETCore.App',版本“5.0.13”
The framework 'Microsoft.NETCore.App', version '5.0.13' was not found
在CentOS 8的终端,我尝试运行以下:
dotnet -h
错误信息:
The framework 'Microsoft.NETCore.App', version '5.0.13' was not found.
我不知道发生了什么。
我已经尝试了很多关于 Google 的说明。我尝试过的一些步骤如下:
https://docs.microsoft.com/en-us/dotnet/core/versions/selection\
https://docs.microsoft.com/en-us/dotnet/core/install/linux-centos
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run
sudo dnf install dotnet-sdk-5.0
sudo dnf install aspnetcore-runtime-5.0
sudo dnf install dotnet-runtime-5.0
我还尝试在 CentOS 上启用快照并安装 .NET Runtime 5.0
https://snapcraft.io/install/dotnet-runtime-50/centos
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install dotnet-runtime-50
但是 none 解决了问题。
更新:2022 年 1 月 26 日
输入以下命令:
dotnet --info
将收到以下消息:
然后,我按照下面解释的步骤操作:
https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-mixup
通过卸载并重新安装 dotnet
sudo dnf remove packages-microsoft-prod
sudo dnf remove 'dotnet*' 'aspnet*' 'netstandard*'
sudo dnf install dotnet-sdk-5.0
然后,我尝试以下操作:
dotnet --info
系统说了类似的话(忘了截图):
dotnet cannot be found at
/user/var/bin/.... dotnet...
(I forget the exact path)
这花了太多时间来修复...我有更重要的任务要做。我最终放弃了进一步调试这个错误。我删除了 CentOS 并重新安装了一个全新的干净的 CentOS,然后重新开始。我相信我一定搞砸了多个冲突的 dotnet 版本和多个错误缓存。
我会在完成重新安装新的 CentOS 后 post 另一个更新。
更新 2:2022 年 1 月 26 日(已修复)
好的,问题已解决。通过结合您提供的所有提示,这是我所做的:
首先,全新安装 CentOS 8
继续安装“dotnet”
sudo dnf install dotnet-sdk-3.1
sudo dnf install dotnet-sdk-5.0
通过 运行 控制台应用程序进行测试:
dotnet ConsoleApp2.dll
现在一切正常。非常感谢您的时间和帮助。
已安装多个 dotnet 运行时和 sdk 源。这导致多个冲突的二进制路径和程序集缓存崩溃。
第 1 步:全新安装 CentOS
第 2 步:安装所需的运行时版本,例如:
sudo dnf install dotnet-sdk-3.1
sudo dnf install dotnet-sdk-5.0
第 3 步:通过 运行 控制台应用程序进行测试:
dotnet ConsoleApp.dll
完成。
更新:备选方案 2:运行 没有安装任何运行时 CentOS 的应用程序
另一种选择是将 .NET Core 项目作为“self-contained”发布到单个二进制文件中。
这是发布后的样子示例,只有 1 个文件:
将编译后的二进制文件复制到 CentOS
在终端,浏览到包含 self-contained 二进制文件的文件夹,例如:
cd /home/admin/testapp
接下来,是允许对文件的执行权限:
sudo chmod 777 ConsoleApp2
执行应用程序:
./ConsoleApp2
在CentOS 8的终端,我尝试运行以下:
dotnet -h
错误信息:
The framework 'Microsoft.NETCore.App', version '5.0.13' was not found.
我不知道发生了什么。
我已经尝试了很多关于 Google 的说明。我尝试过的一些步骤如下:
https://docs.microsoft.com/en-us/dotnet/core/versions/selection\
https://docs.microsoft.com/en-us/dotnet/core/install/linux-centos
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-run
sudo dnf install dotnet-sdk-5.0
sudo dnf install aspnetcore-runtime-5.0
sudo dnf install dotnet-runtime-5.0
我还尝试在 CentOS 上启用快照并安装 .NET Runtime 5.0
https://snapcraft.io/install/dotnet-runtime-50/centos
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install dotnet-runtime-50
但是 none 解决了问题。
更新:2022 年 1 月 26 日
输入以下命令:
dotnet --info
将收到以下消息:
然后,我按照下面解释的步骤操作:
https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-mixup
通过卸载并重新安装 dotnet
sudo dnf remove packages-microsoft-prod
sudo dnf remove 'dotnet*' 'aspnet*' 'netstandard*'
sudo dnf install dotnet-sdk-5.0
然后,我尝试以下操作:
dotnet --info
系统说了类似的话(忘了截图):
dotnet cannot be found at
/user/var/bin/.... dotnet...
(I forget the exact path)
这花了太多时间来修复...我有更重要的任务要做。我最终放弃了进一步调试这个错误。我删除了 CentOS 并重新安装了一个全新的干净的 CentOS,然后重新开始。我相信我一定搞砸了多个冲突的 dotnet 版本和多个错误缓存。
我会在完成重新安装新的 CentOS 后 post 另一个更新。
更新 2:2022 年 1 月 26 日(已修复)
好的,问题已解决。通过结合您提供的所有提示,这是我所做的:
首先,全新安装 CentOS 8
继续安装“dotnet”
sudo dnf install dotnet-sdk-3.1
sudo dnf install dotnet-sdk-5.0
通过 运行 控制台应用程序进行测试:
dotnet ConsoleApp2.dll
现在一切正常。非常感谢您的时间和帮助。
已安装多个 dotnet 运行时和 sdk 源。这导致多个冲突的二进制路径和程序集缓存崩溃。
第 1 步:全新安装 CentOS
第 2 步:安装所需的运行时版本,例如:
sudo dnf install dotnet-sdk-3.1
sudo dnf install dotnet-sdk-5.0
第 3 步:通过 运行 控制台应用程序进行测试:
dotnet ConsoleApp.dll
完成。
更新:备选方案 2:运行 没有安装任何运行时 CentOS 的应用程序
另一种选择是将 .NET Core 项目作为“self-contained”发布到单个二进制文件中。
这是发布后的样子示例,只有 1 个文件:
将编译后的二进制文件复制到 CentOS
在终端,浏览到包含 self-contained 二进制文件的文件夹,例如:
cd /home/admin/testapp
接下来,是允许对文件的执行权限:
sudo chmod 777 ConsoleApp2
执行应用程序:
./ConsoleApp2