dotnet程序位于目录“ / usr / bin / dotnet”中。当我切换到该目录并运行dotnet new web时,我得到的只是:
找不到任何已安装的.NET Core SDK 您是要运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:> https://aka.ms/dotnet-download
建议?
答案 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