![](/img/trans.png)
[英]The framework 'Microsoft.AspNetCore.App', version '5.0.0' was not found. when it is installed and inside $PATH
[英]ASP.NET Core: “The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found” when running a Framework-Dependant app
我剛剛從Microsoft 網站安裝了 ASP.NET Core,但是當我嘗試運行我的應用程序( ./Web
)時,我收到以下錯誤消息:
root@stm32mp1:/usr/local/Monitoring/Web# ./Web
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.
- No frameworks were found.
You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
- https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=3.1.0&arch=arm&rid=openstlinux-weston.3.1-openstlinux-5-4-dunfell-mp1-20-11-12-arm
但是當我運行dotnet --list-runtimes
它告訴我運行時設置正確:
root@stm32mp1:/usr/local/Monitoring/Web# dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.0 [/usr/local/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.0 [/usr/local/dotnet/shared/Microsoft.NETCore.App]
這是dotnet --info
逗號的結果:
root@stm32mp1:/usr/local/Monitoring/Web# dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.1.100
Commit: cd82f021f4
Runtime Environment:
OS Name: openstlinux-weston
OS Version: 3.1-openstlinux-5-4-dunfell-mp1-20-11-12
OS Platform: Linux
RID: linux-arm
Base Path: /usr/local/dotnet/sdk/3.1.100/
Host (useful for support):
Version: 3.1.0
Commit: 65f04fb6db
.NET Core SDKs installed:
3.1.100 [/usr/local/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.1.0 [/usr/local/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.0 [/usr/local/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
我的路徑也設置正確:
root@stm32mp1:/usr/local/Monitoring/Web# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/dotnet
我嘗試使用以下 ARM32 二進制文件:
但是沒有任何效果!
有關信息,我在 STM 和 openstlinux-weston(從 Yoctoproject 生成)的 ARM32 A7 處理器上運行此命令以前,作為依賴於框架的工作執行此項目,但現在我只能將其作為自包含運行,但我有很多項目,沒有那么多空間....
希望有足夠的信息來解決這個問題......
看起來這是 Visual Studio 發布過程中的一個問題。 所以我再次開始按照這些步驟配置我的所有項目:
清理了我的每一個.csproj
,因此調試/發布配置如下所示
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Configurations>Release;Debug</Configurations>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;Windows</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>TRACE;Linux</DefineConstants>
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
</PropertyGroup>
<!-- ... -->
重做所有項目的發布配置文件,使其如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>a3c8bed8-1269-4649-8573-ff4fb864100b</ProjectGuid>
<publishUrl>bin\Release\netcoreapp3.1\linux-arm\publish\</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
<SelfContained>false</SelfContained>
</PropertyGroup>
</Project>
刪除了/bin
和/obj
文件夾。 終於又發布了,成功了! .
我多次重命名我的所有項目配置(發布/調試),所以也許 Visual Studio 搞砸了不同的目錄並將錯誤的文件發布到目標 Linux 平台。 希望它可以幫助有同樣問題的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.