# escape=` FROM mcr.microsoft.com/windows/servercore:ltsc2022-amd64 ENV ` # Enable detection of running in a container DOTNET_RUNNING_IN_CONTAINER=true ` COMPLUS_RUNNING_IN_CONTAINER=1 ` COMPLUS_NGenProtectedProcess_FeatureEnabled=0 RUN ` # Install .NET Fx 4.8.1 curl -fSLo dotnet-framework-installer.exe https://download.visualstudio.microsoft.com/download/pr/6f083c7e-bd40-44d4-9e3f-ffba71ec8b09/3951fd5af6098f2c7e8ff5c331a0679c/ndp481-x86-x64-allos-enu.exe ` && .\dotnet-framework-installer.exe /q ` && del .\dotnet-framework-installer.exe ` && powershell Remove-Item -Force -Recurse ${Env:TEMP}\* ` ` # Apply latest patch && curl -fSLo patch.msu https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/secu/2026/07/windows10.0-kb5120714-x64-ndp481_3a009ef9abfc5f7ce06c89263913e46e24a8d861.msu ` && mkdir patch ` && expand patch.msu patch -F:* ` && del /F /Q patch.msu ` && dism /Online /Quiet /Add-Package /PackagePath:C:\patch\windows10.0-KB5120714-x64-ndp481.cab ` && rmdir /S /Q patch ` ` # Ngen top of assembly graph to optimize a set of frequently used assemblies && %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ` # To optimize 32-bit assemblies, uncomment the next line # && %windir%\Microsoft.NET\Framework\v4.0.30319\ngen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ` && %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen update ` && %windir%\Microsoft.NET\Framework\v4.0.30319\ngen update