部署ASP.NET Core 2.1.2容器结果在“指定的框架'Microsoft.AspNetCore.All'中,找不到版本'2.1.2'”。

时间:2018-08-14 20:37:58

标签: c# asp.net docker asp.net-core kubernetes

我正在尝试将包含ASP.NET Core Web API的docker容器部署到kubernetes集群,并且出现以下错误:

>kubectl logs myapp -p

It was not possible to find any compatible framework version The specified framework 'Microsoft.AspNetCore.All', version '2.1.2' was not found. - Check application dependencies and target a framework version installed at: /usr/share/dotnet/ - Installing .NET Core prerequisites might help resolve this problem: http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 - The .NET Core framework and SDK can be installed from: https://aka.ms/dotnet-download - The following versions are installed: 2.1.1 at [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]

当我检查节点上的安装版本时,一切看起来都应该支持该容器:

yum info aspnetcore-runtime-2.1

Installed Packages Name : aspnetcore-runtime-2.1 Arch : x86_64 Version : 2.1.2 Release : 1 Size : 71 M Repo : installed From repo : packages-microsoft-com-prod Summary : Microsoft ASP.NET Core 2.1.2 Shared Framework URL : https://www.asp.net/ License : Apache-2.0 Description : Shared Framework for hosting of Microsoft ASP.NET Core : applications. It is open source, cross-platform and is supported : by Microsoft. We hope you enjoy using it! If you do, please : consider joining the active community of developers that are : contributing to the project on GitHub : (https://github.com/aspnet/home). We happily accept issues and : PRs.

yum info dotnet-sdk-2.1

Installed Packages Name : dotnet-sdk-2.1 Arch : x86_64 Version : 2.1.400 Release : 1 Size : 221 M Repo : installed From repo : packages-microsoft-com-prod Summary : Microsoft .NET Core SDK 2.1.400 2.1.400 URL : https://github.com/dotnet/core License : MIT Description : .NET Core is a development platform that you can use to build : command-line applications, microservices and modern websites. It : is open source, cross-platform and is supported by Microsoft. We : hope you enjoy using it! If you do, please consider joining the : active community of developers that are contributing to the : project on GitHub (https://github.com/dotnet/core). We happily : accept issues and PRs.

即使文件夹结构(/usr/share/dotnet/shared/Microsoft.AspNetCore.All)也只有2.1.2子文件夹。

一切似乎都应该正常工作,但我仍然似乎缺少对较旧版本的引用。

1 个答案:

答案 0 :(得分:1)

您的节点上安装了什么都没有关系,因为Kubernetes运行容器。您需要构建一个包含所有依赖项的Docker映像,并让pod运行该Docker映像。

让它在Docker中工作,将映像推送到Kubernetes集群可以访问的注册表,然后在pod中使用该映像。