c# - 框架 'Microsoft.NETCore.App' ,版本 '5.0.13' 未找到

标签 c# .net-core centos .net-standard

在 CentOS 8 的终端,我尝试运行以下命令:

dotnet -h
错误信息:
The framework 'Microsoft.NETCore.App', version '5.0.13' was not found.
我不知道发生了什么。
enter image description here
我已经尝试了很多关于 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
但这都不能解决问题。

更新:2022 年 1 月 26 日
输入以下命令:
dotnet --info
将收到以下消息:
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 后,我将发布另一个更新。

更新 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 项目作为“自包含”发布到单个二进制文件中。
enter image description here
这是发布后的示例,只有 1 个单个文件:
enter image description here
将编译好的二进制文件复制到 CentOS
在终端上,浏览到包含自包含二进制文件的文件夹,例如:
cd /home/admin/testapp
接下来,是允许文件的执行权限:
sudo chmod 777 ConsoleApp2
执行应用程序:
./ConsoleApp2

关于c# - 框架 'Microsoft.NETCore.App' ,版本 '5.0.13' 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70835534/

相关文章:

c# - 从 chocolatey 生成的 exe 有他们的标志和描述。有没有办法改变这个?

c# - 为什么 List<double> 显式转换为 IEnumerable<object> 会抛出异常?

c# - 文件上传控件仅上传PDF

mysql - 如何添加迁移到 MYSQL 数据库?

.NET Core Entity Framework - 迁移路径 --output-dir

c# - ASP.NET Core - 同时使用 UseDeveloperExceptionPage() 和自定义日志记录

linux - 我想在 vmware 工作站中安装 centos 6.6 和 centos 6.6 最小服务器有什么区别?

api - 无法打开 Consul UI 或 API

c# - 扩展 Button 以制作可重复使用的自定义按钮

linux - rpm.spec 文件中的多个 tar(源文件)文件