skip to Main Content

Hi I have below dockerfile for .NET 6 console app

FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["MyProj/MyProj.csproj", "MyProj/"]
RUN dotnet restore "MyProj/MyProj.csproj"
COPY . .
WORKDIR "/src/MyProj"
RUN dotnet build "MyProj.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "MyProj.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyProj.dll"]

I am using github actions CI tool to build the image and deploying it in kubernets. I am not getting any error when building but when the image runs I get below error

You must install or update .NET to run this application.

App: /app/AL.AlphaLinerJob.dll
Architecture: x64
Framework: 'Microsoft.AspNetCore.App', version '6.0.0' (x64)
.NET location: /usr/share/dotnet/

No frameworks were found.

Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=6.0.0&arch=x64&rid=debian.11-x64

Below is csproj packagaes

<ItemGroup>
        <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0" />
        <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
        <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
        <PackageReference Include="Npgsql" Version="7.0.2" />
        <PackageReference Include="OpenTelemetry" Version="1.3.0-rc.2" />
        <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.1.0" />
        <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.1.0" />
        <PackageReference Include="OpenTelemetry.Exporter.Prometheus" Version="1.3.0-rc.2" />
        <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc9" />
        <PackageReference Include="prometheus-net" Version="7.0.0" />
        <PackageReference Include="prometheus-net.AspNetCore" Version="7.0.0" />
        <PackageReference Include="Npgsql" Version="7.0.2" />

I am not able to find the root cause of it. It was working fine few days back suddenly It started giving this error. Can someone help me to find the root cause. Any help would be appreciated.

I am expecting to run the image successfully.

2

Answers


  1. It seems that one of the packages relies on ASP.NET Core runtime being present (prometheus-net.AspNetCore would be primary candidate based on the <FrameworkReference Include="Microsoft.AspNetCore.App" /> in the csproj).

    Either change base to FROM mcr.microsoft.com/dotnet/aspnet:6.0, or find the "guilty" package and remove it.

    Possibly relevant – The framework ‘Microsoft.AspNetCore.App’, version ‘6.0.0’ (x64) was not found

    Login or Signup to reply.
  2. Change the 1st line:
    FROM mcr.microsoft.com/dotnet/runtime:6.0 AS base
    to
    FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search