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

bvpmtnay  于 2023-01-12  发布在  Docker
关注(0)|答案(2)|浏览(950)

我最近从.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

这是使用docker部署的,映像是使用运行时构建的: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"]

为什么runtime:6.0映像有问题?
编辑:我已经更新了我的映像,使用aspnet:6.0映像来运行服务,这修复了它,但我不确定什么是需要aspnet映像和常规运行时映像。

q8l4jmvw

q8l4jmvw1#

您使用的运行时映像不正确-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"]

统一采购司

这修复了它,但我不确定什么是需要aspnet映像与常规运行时映像。
检查.csproj文件的Project标记。如果它的Sdk属性设置为Microsoft.NET.Sdk.Web,则这可能是ASP.NET核心运行时要求的原因。还要检查引用Microsoft.AspNetCore.App的库。

更新2

最后一个建议奏效了-其中一个库需要ASP.NET核心运行时(在本例中为MiniProfiler.AspNetCore)才能正常工作。

jk9hmnmh

jk9hmnmh2#

附加信息- .net5.0现已弃用,且与.net7不兼容。如果有人将其Web应用程序从.net5升级到.net6或.net7,则还需要升级其Web服务器上的托管组件,这些组件可从MS站点-ASP.NET Core app to IIS | Microsoft Learn下载

相关问题