我已经在 Arch Linux 上使用 pacman 安装了最新版本的 .net core:
sudo pacman -S dotnet-sdk
Running dotnet --info
显示正确的版本:
Host (useful for support):
Version: 2.1.0
Commit: caa7b7e2ba
.NET Core SDKs installed:
2.1.0 [/opt/dotnet/sdk]
2.1.300 [/opt/dotnet/sdk]
我可以运行控制台应用程序,但是当我运行时dotnet run
在 ASP.NET Core 目录中返回此错误:
找不到任何兼容的框架版本
指定框架“Microsoft.AspNetCore.App”,版本“2.1.0”是
未找到。
为什么版本看似匹配,但无法运行?
更多细节:
ls /opt/dotnet/sdk/
返回:
2.1.300 NuGetFallbackFolder
的内容.csproj
file:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
这个问题很老了,但是如果有人试图让 .NET 5 在 Arch 上运行,这可以给你另一个解决方案。
如果您构建、发布并运行指定平台运行时的项目,dotnet
将构建一个独立的应用程序,具有所有必要的平台特定依赖项。
你可以用--runtime
/-r
flag.
拱门的示例:
dotnet build -r linux-x64
dotnet run -r linux-x64
dotnet publish -r linux-x64
有关可用的运行时标识符,请参阅 Microsoft 文档:https://learn.microsoft.com/en-us/dotnet/core/rid-catalog https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
Edit:
使用 AUR 包(而不是 Snap 包)的路径问题也较少:
https://aur.archlinux.org/packages/dotnet-sdk-bin/ https://aur.archlinux.org/packages/dotnet-sdk-bin/
Edit 2:
安装 AUR 后aspnet-runtime-bin
包,所有错误Microsoft.AspNetCore.App
没有被发现就消失了,没有使用--runtime
flag:
https://aur.archlinux.org/packages/aspnet-runtime-bin https://aur.archlinux.org/packages/aspnet-runtime-bin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)