【发布时间】:2020-01-16 00:37:25
【问题描述】:
我在尝试部署 .netcore 2.2 应用程序时遇到此错误:
找不到任何兼容的框架版本 找不到指定的框架“Microsoft.NETCore.App”,版本“2.2.4”。 - 检查应用程序依赖项并定位安装在以下位置的框架版本: C:\程序文件\dotnet\ - 安装 .NET Core 先决条件可能有助于解决此问题: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 - .NET Core 框架和 SDK 可以从以下位置安装: https://aka.ms/dotnet-download - 安装了以下版本: 1.0.4 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 1.1.1 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 1.1 .12 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.0.3 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.0.7 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.2 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.4 在 [C:\Program Files\dotnet\shared\Microsoft. NETCore.App] 2.2.1 在 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
当我运行时在我的本地机器上:
dotnet --version
我收到以下回复:“2.2.102”并且应用程序运行良好。我也只安装了 Microsoft.NET Core Runtime - 2.2.1 和 Microsoft .NET Core SDK 2.2.102。所以不支持2.2.4版本。
这是我的 web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
<aspNetCore processPath="dotnet" arguments=".\Optics.API.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
这是我的 .csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.1" PrivateAssets="All"/>
<PackageReference Include="Hangfire.Core" Version="1.7.0"/>
<PackageReference Include="Hangfire.SqlServer" Version="1.7.0"/>
<PackageReference Include="Hangfire.AspNetCore" Version="1.7.0"/>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.1"/>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="4.0.1"/>
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0"/>
</ItemGroup>
</Project>
我也通过删除 Microsoft.AspNetCore.App 的版本进行了测试
<PackageReference Include="Microsoft.AspNetCore.App"/>
但即使进行了更改,我也会遇到相同的错误。此外,该应用程序部署在共享托管服务器中,我无权安装任何 sdk 或运行时,所以我应该使用现有的。有什么线索吗?
【问题讨论】:
-
本地机器上
dotnet --info命令的输出是什么?依赖关系图也很有帮助。您可以通过导航到您的项目来生成它,然后运行 dotnet msbuild /t:GenerateRestoreGraphFile /p:RestoreGraphOutputPath=graph.dg命令,该命令将生成graph.dg文件,这是 json 文件。 -
我运行 dotnet msbuild /t:GenerateRestoreGraphFile /p:RestoreGraphOutputPath=graph.dg 但没有参考 2.2.4 版
标签: asp.net-core-webapi asp.net-core-2.2 .net-core-2.2