Vla*_*mir 3 .net c# linux asp.net archlinux
背景
我已经按照ArchWiki 指南在 Arch GNU/Linux 上安装了 .NET 框架。
主要包是:
dotnet-runtime运行 .NET 托管应用程序dotnet-sdk使用 .NET 构建应用程序此外,我添加~/.dotnet/tools了PATH以便我可以使用 shell 中的 dotnet 工具。我已经通过添加做到了
export PATH="$PATH:/home/MyUserName/.dotnet/tools"
Run Code Online (Sandbox Code Playgroud)
到我的~/.zshenv文件。
问题
一切工作正常,我能够构建一些控制台应用程序。然而,当我尝试构建 ASP.NET Core Web App 时,遇到了一些问题。
首先,我通过运行以下命令创建了一个新的 Web 应用程序:
dotnet new webapp -n MyAppsName --framework net6.0
Run Code Online (Sandbox Code Playgroud)
当我尝试构建并运行时,出现以下错误:
Building...
You must install or update .NET to run this application.
App: /home/MyUserName/RestOfThePath/MyAppsName/bin/Debug/net6.0/MyAppsName
Architecture: x64
Framework: 'Microsoft.AspNetCore.App', version '6.0.0' (x64)
.NET location: /usr/share/dotnet
No frameworks were found.
Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed
To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=6.0.0&arch=x64&rid=arch-x64
Run Code Online (Sandbox Code Playgroud)
似乎缺少框架(或适当的版本)。然而,当我跑步时dotnet --info,似乎并没有缺少我需要的任何东西。以下是上一个命令的输出。
.NET SDK (reflecting any global.json):
Version: 6.0.109
Commit: 58a93139d8
Runtime Environment:
OS Name: arch
OS Version:
OS Platform: Linux
RID: arch-x64
Base Path: /usr/share/dotnet/sdk/6.0.109/
global.json file:
Not found
Host:
Version: 6.0.9
Architecture: x64
Commit: 163a63591c
.NET SDKs installed:
6.0.109 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.NETCore.App 6.0.9 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Download .NET:
https://aka.ms/dotnet-download
Learn about .NET Runtimes and SDKs:
https://aka.ms/dotnet/runtimes-sdk-info
Run Code Online (Sandbox Code Playgroud)
我缺少什么?任何帮助,将不胜感激。
PS这是微软的官方文章,旨在帮助解决这个特定问题。它没有提供任何新的见解。
gun*_*171 12
.Net(请注意,从 .Net 5 开始,它仅称为“.Net”,而不是“.Net Core”或“.Net Framework”)分布在三个不同的包中。
你所缺少的是aspnet-runtime。
dotnet-sdk让您编译源代码。dotnet-runtime让您运行基本应用程序。aspnet-runtime附带了许多专门针对 ASP.Net 的额外内容,因此它是单独分发的。
通常(例如在 Windows 上),当您安装 .Net Sdk 时,它还会安装 ASP.Net 运行时。看来Arch上的SDK包不依赖于aspnet-runtime.
安装aspnet-runtime并再次运行后,您将在“已安装的 .NET 运行时”部分下看到“Microsoft.NETCore.App”(提供的内容)和 Microsoft.AspNetCore.App(提供的内容)dotnet --info的条目。dotnet-runtimeaspnet-runtime
| 归档时间: |
|
| 查看次数: |
3418 次 |
| 最近记录: |