這是我嘗試在 CentOS 8 Stream 上安裝 .net core 6.0 時運行的 2 個命令:
sudo dnf install dotnet-runtime-6.0
Last metadata expiration check: 0:12:04 ago on Tue 23 Nov 2021 17:38:47 UTC.
. . .
Installed:
dotnet-host-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
dotnet-hostfxr-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
dotnet-runtime-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
lttng-ust-2.8.1-11.el8.x86_64
userspace-rcu-0.10.1-4.el8.x86_64
Complete!
[/usr/local/bin]$ dotnet --list-runtimes
Microsoft.NETCore.App 6.0.0-rc.2.21470.23 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
安裝說它已安裝,6.0.0-0.6但實際版本是6.0.0-rc.2.21470.23,我的應用程式失敗并出現錯誤:
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '6.0.0' (x64) was not found.
- The following frameworks were found:
6.0.0-rc.2.21470.23 at [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
可以在沒有手動 .net 安裝的情況下修復嗎?
解決方案(作業)
將 repo 添加到作業系統:sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
更改它的優先級以先于作業系統: echo 'priority=50' | 須藤三通-a /etc/yum.repos.d/microsoft-prod.repo
安裝 sudo dnf 安裝 dotnet-runtime-6.0
重啟機器
uj5u.com熱心網友回復:
CentOS 8 Stream 似乎有一個過時的 .NET 6 版本。
版本太舊是我的錯;我需要更新 CentOS Stream 8 中的軟體包(它實際上復制了 RHEL 8.6 中的內容,我將修復它)。
顯示的版本dotnet --info是正確的。
RPM 軟體包版本控制是一種解決方法,因為 CentOS(以及直到最近的 RHEL 和 Fedora)無法反映即將發布 6.0 的上游的預發布版本。我們被迫使用版本“6.0”和帶有“0.X”的 Release 來表示“這是 6.0 的預發布版”。我可以稱它為“6.0-0.6.rc2”,但這個版本甚至不完全是“6.0 RC2”,它是一個 RC2 之前的快照主機(28be3e9a006d90d8c6e87d4353b77882829df718從dotnet/安裝程式存盤庫提交)。
如果您迫切需要 .NET 6,可以考慮以下選項:
如果您需要一個容器,請嘗試使用
registry.access.redhat.com/ubi8/dotnet-60-runtime.使用 .NET 6 的手動(非包)安裝:https : //docs.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#manual-install
添加 Microsoft RPM 存盤庫(repo 檔案),然后使用解決方案 3確保它優先于 CentOS 存盤庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/365934.html
標籤:linux .net核心 centos8 .net-6.0
上一篇:cp:無法統計沒有那個檔案或目錄
