找不到框架“Microsoft.AspNetCore.App”,版本“6.0.0”(x64)

Joe*_*ips 9 docker .net-6.0

我最近从 .net5 升级到 .net6,并且在我的服务中(不使用 aspnet),当它尝试启动时出现此错误。

It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '6.0.0' (x64) 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=6.0.0&arch=x64&rid=debian.11-x64
Run Code Online (Sandbox Code Playgroud)

这是使用 docker 进行部署的,并且构建图像以使用runtime:6.0,如下所示:

FROM mcr.microsoft.com/dotnet/runtime:6.0 AS service
WORKDIR /app
COPY --from=build-env /app/out/service .
ENTRYPOINT ["dotnet", "MyService.dll"]
Run Code Online (Sandbox Code Playgroud)

为什么runtime:6.0图像有问题?

编辑:我已经更新了我的图像以使用该aspnet:6.0图像来运行服务。这修复了它,但我不确定什么需要 aspnet 图像与常规运行时图像。

Gur*_*ron 8

您使用的运行时映像不正确 - mcr.microsoft.com/dotnet/aspnet:6.0 是您正在寻找的映像:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS service
WORKDIR /app
COPY --from=build-env /app/out/service .
ENTRYPOINT ["dotnet", "MyService.dll"]
Run Code Online (Sandbox Code Playgroud)

UPD

这修复了它,但我不确定什么需要 aspnet 图像与常规运行时图像。

检查Project.csproj 文件的标签。如果它的Sdk属性设置为,Microsoft.NET.Sdk.Web那么这将是 ASP.NET Core 运行时要求的原因。还要检查库引用 Microsoft.AspNetCore.App

UPD2

最后一个建议有效 - 其中一个库需要 ASP.NET Core 运行时(MiniProfiler.AspNetCore在本例中)才能正常运行。