找不到指定的框架'Microsoft.AspNetCore.All',版本'2.2.0'

时间:2019-11-20 05:48:36

标签: c# .net-core .net-core-2.2

Dotnet --version说2.2.402

dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   2.2.402
 Commit:    c7f2f96116

Runtime Environment:
 OS Name:     centos
 OS Version:  7
 OS Platform: Linux
 RID:         centos.7-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.402/

Host (useful for support):
  Version: 2.2.8
  Commit:  b9aa1abc51

.NET Core SDKs installed:
  2.2.402 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

我正在尝试在Linux服务器上发布我的应用程序,直到我最后一次尝试使用以下命令在服务器上更新应用程序为止,服务器在服务器上的运行情况都很好。

dotnet publish -c release -o ${API_PUBLISH_DIR}

构建过程引发以下错误

  

找不到任何兼容的框架版本     找不到指定的框架'Microsoft.AspNetCore.All',版本'2.2.0'。       -检查应用程序依赖性并确定安装在以下位置的框架版本:           / usr / share / dotnet /       -安装.NET Core必备软件可能有助于解决此问题:           https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409       -.NET Core框架和SDK可以从以下位置安装:           https://aka.ms/dotnet-download

更多错误详细信息是

  

/usr/share/dotnet/sdk/NuGetFallbackFolder/microsoft.aspnetcore.mvc.razor.viewcompilation/2.2.0/build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets(64,5) :错误MSB3073:命令“” / usr / share / dotnet / dotnet“ exec --runtimeconfig” /home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI .runtimeconfig.json“ --depsfile” /home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI.deps.json“” / usr / share / dotnet / sdk / NuGetFallbackFolder / microsoft.aspnetcore.mvc.razor.viewcompilation / 2.2.0 / build / netstandard2.0 / netcoreapp2.0 / Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll“ @” obj / Release / netcoreapp2.2 / microsoft.aspnetcore.mvc.razor.viewcompilation.rsp“”退出,代码为150。[/ home / vng-dev / vng-web / vast-webapplication / vast_webapplication / WebAPI / WebAPI.csproj]

我没有在.csproj文件中提到AspNetCore的版本。全部都是这样

<PackageReference Include="Microsoft.AspNetCore.All" />

还尝试将AspNetCore.All替换为AspNetCore.App,如下所示

<PackageReference Include="Microsoft.AspNetCore.App" />

这也无济于事

我还尝试安装AspNetCore.MVC.Razor.ViewCompilation程序包,但没有帮助

编辑:

  1. 还尝试一次更新Microsoft.AspNetCore.App和Microsoft.AspNetCore的版本。
  2. 尝试编译具有“版本”属性和不具有“版本”属性的应用。
  3. 尝试更新解决方案中的所有项目(.csproj)文件。

3 个答案:

答案 0 :(得分:1)

对我来说,构建命令中存在问题

我正在使用此命令-> dotnet publish -c release -o ${API_PUBLISH_DIR}

对此进行了更改,并添加了用于构建它的平台

dotnet publish -c release -r linux-x64 -o ${API_PUBLISH_DIR}

最近对.net核心的自动更新弄乱了某些内容,无法弄清版本依赖性在哪里。

答案 1 :(得分:0)

您的项目具有Microsoft.AspNetCore的引用。所有引用均与以下内容类似。但是,在删除dotnet core 2.0 Microsoft.AspNetCore.All之后,您已经安装了dotnet core2.2.x。 Microsoft.NETCore.App的版本比该软件包要轻得多。

我建议安装dotnet core 2.0。在这种情况下,您无需更改项目。

<PackageReference Include="Microsoft.AspNetCore.All"/>

答案 2 :(得分:0)

  • 在您的项目中添加 dotnet core 2.0 版本
<块引用>

< PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6"/>

  • 还添加到属性组
<块引用>
<PropertyGroup>
  <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>