Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core .NET Core 3.1安装在Fedora 32上,但它没有';行不通_.net Core_Fedora - Fatal编程技术网

.net core .NET Core 3.1安装在Fedora 32上,但它没有';行不通

.net core .NET Core 3.1安装在Fedora 32上,但它没有';行不通,.net-core,fedora,.net Core,Fedora,dotnet程序位于目录'/usr/bin/dotnet'中。当我切换到该目录并运行dotnet new web时,我得到的只是: 无法找到任何已安装的.NET Core SDK 您的意思是运行.NET核心SDK命令吗?从以下位置安装.NET核心SDK:> 建议 当我切换到那个目录时 不要从/usr/bin目录中运行dotnet new。里面有一个符号链接到实际的二进制文件,这样它就可以在你的路径上使用。因此,/usr/bin/dotnet可能会指向一个位置,例如/usr/lib64/dotne

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

无法找到任何已安装的.NET Core SDK 您的意思是运行.NET核心SDK命令吗?从以下位置安装.NET核心SDK:>

建议

当我切换到那个目录时

不要从
/usr/bin
目录中运行
dotnet new
。里面有一个符号链接到实际的二进制文件,这样它就可以在你的路径上使用。因此,
/usr/bin/dotnet
可能会指向一个位置,例如
/usr/lib64/dotnet/dotnet
。您应该能够从用户有权访问的任何位置运行
dotnet

这个问题很可能与以下事实有关:
dotnet-sdk-3.1
现在在官方fedora repo和microsoft repo中都可用,因此您可能会混合使用不兼容的二进制文件

今天我遇到了一个类似的问题,我安装了多种软件包,如下所示:

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
...
事实证明,我以前从微软的repo安装的软件包与Fedora的软件包(带有.fc32的软件包)不兼容

为了解决这个问题,我只需要卸载我的所有dotnet包:
sudo dnf remove dotnet-*
然后将fedora repos的优先级设置为高于microsofts。通过编辑受影响的回购协议,如
/etc/yum.repos.d/fedora.repo
并添加:

优先级=N(其中N是介于1和99之间的数字)

我将fedora的回购协议设置为优先级1(无论如何,他们真的应该这样做),将微软的回购协议设置为优先级5

然后,只需再次安装,这一次它将从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--列出sdk
输出:
3.1.108[/usr/lib64/dotnet/sdk]

当我切换到那个目录时

不要从
/usr/bin
目录中运行
dotnet new
。里面有一个符号链接到实际的二进制文件,这样它就可以在你的路径上使用。因此,
/usr/bin/dotnet
可能会指向一个位置,例如
/usr/lib64/dotnet/dotnet
。您应该能够从用户有权访问的任何位置运行
dotnet

这个问题很可能与以下事实有关:
dotnet-sdk-3.1
现在在官方fedora repo和microsoft repo中都可用,因此您可能会混合使用不兼容的二进制文件

今天我遇到了一个类似的问题,我安装了多种软件包,如下所示:

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
...
事实证明,我以前从微软的repo安装的软件包与Fedora的软件包(带有.fc32的软件包)不兼容

为了解决这个问题,我只需要卸载我的所有dotnet包:
sudo dnf remove dotnet-*
然后将fedora repos的优先级设置为高于microsofts。通过编辑受影响的回购协议,如
/etc/yum.repos.d/fedora.repo
并添加:

优先级=N(其中N是介于1和99之间的数字)

我将fedora的回购协议设置为优先级1(无论如何,他们真的应该这样做),将微软的回购协议设置为优先级5

然后,只需再次安装,这一次它将从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--列出sdk
输出:
3.1.108[/usr/lib64/dotnet/sdk]

您是如何安装它的?我使用了:
sudo dnf dotnet-sdk-3.1
您是如何安装的?我使用了:
sudo dnf dotnet-sdk-3.1