我最近从.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映像和常规运行时映像。
2条答案
按热度按时间q8l4jmvw1#
您使用的运行时映像不正确-mcr.microsoft.com/dotnet/aspnet:6.0是您要查找的映像:
统一采购司
这修复了它,但我不确定什么是需要aspnet映像与常规运行时映像。
检查.csproj文件的
Project
标记。如果它的Sdk
属性设置为Microsoft.NET.Sdk.Web
,则这可能是ASP.NET核心运行时要求的原因。还要检查引用Microsoft.AspNetCore.App
的库。更新2
最后一个建议奏效了-其中一个库需要ASP.NET核心运行时(在本例中为
MiniProfiler.AspNetCore
)才能正常工作。jk9hmnmh2#
附加信息- .net5.0现已弃用,且与.net7不兼容。如果有人将其Web应用程序从.net5升级到.net6或.net7,则还需要升级其Web服务器上的托管组件,这些组件可从MS站点-ASP.NET Core app to IIS | Microsoft Learn下载