[英]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.