.NET Core 3.1安装在Fedora 32上但不起作用

时间:2020-10-06 13:46:09

标签: .net-core fedora

dotnet程序位于目录“ / usr / bin / dotnet”中。当我切换到该目录并运行dotnet new web时,我得到的只是:

找不到任何已安装的.NET Core SDK 您是要运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:> https://aka.ms/dotnet-download

建议?

1 个答案:

答案 0 :(得分:0)

当我切换到该目录时

请勿在{{1​​}}目录中运行dotnet new。其中有一个指向实际二进制文件的符号链接,因此可以在您的PATH中使用它。因此,/usr/bin可能会指向/usr/bin/dotnet之类的位置。您应该可以在用户有权访问的任何位置运行/usr/lib64/dotnet/dotnet

该问题很可能与以下事实有关:dotnet现在已经在官方的fedora存储库和Microsoft存储库中可用,因此您可能混合使用了不兼容的二进制文件。

今天我遇到了类似的问题,我混合安装了以下软件包:

dotnet-sdk-3.1

事实证明,我以前从Microsoft仓库中安装的软件包不能与Fedora软件包(带有.fc32的软件包)配合使用。

要解决此问题,我只需要卸载我所有的dotnet软件包:dotnet-apphost-pack-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-host x86_64 3.1.8-1.fc32 @updates dotnet-hostfxr-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-runtime-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-runtime-deps-3.1 x86_64 3.1.8-1 @packages-microsoft-com-prod dotnet-sdk-3.1 x86_64 3.1.402-1 @packages-microsoft-com-prod dotnet-targeting-pack-3.1 x86_64 3.1.8-1.fc32 @updates ... ,然后将fedora存储库的优先级设置为高于Microsoft。这是通过编辑受影响的存储库(例如sudo dnf remove dotnet-*并添加:

)来完成的

priority = N (其中N是1到99之间的数字)

我将fedora的存储库设置为优先级1(无论如何,它们确实应该这样做),Microsoft的存储库设置为5。

然后只需再次安装,这次它将从Fedora存储库中拉下来:

/etc/yum.repos.d/fedora.repo

现在更像是:

sudo dnf install dotnet-sdk-3.1

一切都应该正常进行。运行dotnet-sdk-3.1 x86_64 3.1.108-1.fc32 @updates dotnet-apphost-pack-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-host x86_64 3.1.8-1.fc32 @updates dotnet-hostfxr-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-runtime-3.1 x86_64 3.1.8-1.fc32 @updates dotnet-targeting-pack-3.1 x86_64 3.1.8-1.fc32 @updates ... 输出:dotnet --list-sdks