Skip to content

.NET Framework Runtime 4.8 support for Windows Server 2022 removed #1270

@sicil1ano

Description

@sicil1ano

Describe the bug

I have a microservice which I cannot migrate to .NET core using .NET Framework.
Until a month ago, the Docker generation phase of my pipeline worked fine, targeting a Windows Server 2022 agent.
I used the generic mcr.microsoft.com/dotnet/framework/runtime:4.8 because I knew from source code there was support for that. It also supported Windows Server LTSC 2016 and 2019.

This Dockerfile has been removed last month with a "consolidate Docker images" commit.
I don't understand what it's been consolidated, except support for different OS versions, like Windows Server LTSC 2022, had been removed. The Dockerfile for .NET Framework 4.8 supporting Windows Server LTSC 2022 has been deleted.
Windows Server 2022 is still a supported OS and its EOL is supposed to be in October 2026.

As a result, my build is failing on my Windows Server 2022 agent because a commit of this repo deleted the Dockefile supporting its OS.

The container operating system does not match the host operating system.

Usually a consolidation is about using the same dependency version, procedures or tools to get the same result.
The commit actually did more than that, it actually removed OS support for .NET Framework versions.

Commit:
7e6e683#diff-a0e488cd1e87cae8ff30848eaf578855494aec2a06135ac92c5e962824f55724

How is that possible to just remove Dockerfiles ensuring different OS version support without causing problems?
I am really frustrated about it, because it is an issue I haven't introduced in my pipeline.

I can see now from the README (https://github.com/microsoft/dotnet-framework-docker/blob/main/README.runtime.md) that I am forced to use mcr.microsoft.com/dotnet/framework/runtime:4.8.1 image to keep supporting Windows Server 2022.
This is not happening for Windows Server 2016 and 2019 Dockefiles. Why is that? Why do I need to upgrade? Why not introducing a brownout period? Why not informing anyone?

Which .NET image(s) are you using?

mcr.microsoft.com/dotnet/framework/runtime:4.8

Steps to reproduce

Use a Dockerfile using mcr.microsoft.com/dotnet/framework/runtime:4.8 and build it on Windows Server 2022 agent.

Other information

No response

Output of docker version

Output of docker info

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions