如何在dockerfile中更新asp.net核心版本

时间:2019-06-09 14:10:21

标签: docker asp.net-core azure-devops

我正在构建一个Docker容器,作为Azure DevOps管道中的一步,并使用提供的构建池。当我尝试运行容器时,出现以下错误。我了解我在构建容器时需要更新asp.net版本,并且正在寻找可以添加到Dockerfile中的命令行。

我找到了许多下载正确版本的地方,但是还没有找到一种将命令下载并安装到docker文件中的好方法。

我的Dockerfile非常简单,并且基于Windows 1803。

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-nanoserver-sac2016 AS runtime
WORKDIR /app
COPY SampleMvcApp/out ./
ENTRYPOINT ["dotnet", "Meta-Analytics.dll"]

我收到的错误摘要如下:

The specified framework 'Microsoft.AspNetCore.All', version '2.2.5' was not found.

The following versions are installed:
2.2.2 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]

2 个答案:

答案 0 :(得分:0)

也许您可以使用global.json文件定位.net核心版本

{
    "sdk": {
      "version": "2.2.300"
    }
}

答案 1 :(得分:0)

该项目似乎在某个时候进行了升级,但并未遵循所有迁移选项。

在版本2.1中已弃用对Microsoft.AspNetCore.All的支持。您应将其替换为Microsoft.AspNetCore.App,而不应该指定版本。

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

有关详情,请参见https://docs.microsoft.com/en-us/aspnet/core/fundamentals/metapackage?view=aspnetcore-2.2#migrate,请参见https://docs.microsoft.com/en-us/aspnet/core/migration/20_21?view=aspnetcore-2.2