FROM windowsservercore-ltsc2025
# Build environment for a classic .NET Framework WinForms app (net462)
# Installs Visual Studio Build Tools (MSBuild) and the .NET Framework 4.6.2 Developer Pack.
# Note: In a real build, replace placeholder URLs with valid Microsoft download links.
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Install Visual Studio Build Tools (MSBuild)
# This step uses a placeholder URL; update with a real URL when building in CI.
RUN $ErrorActionPreference = 'Stop'; \
$vsBuildToolsUrl = 'https://download.visualstudio.microsoft.com/download/pr/BUILD_TOOLS_PLACEHOLDER/vs_buildtools.exe'; \
Invoke-WebRequest -OutFile 'C:\vs_buildtools.exe' -Uri $vsBuildToolsUrl; \
Start-Process 'C:\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\vs_buildtools.exe'; \
# Install .NET Framework 4.6.2 Developer Pack
RUN $ErrorActionPreference = 'Stop'; \
$ndpUrl = 'https://download.visualstudio.microsoft.com/download/pr/DEV_PACK_PLACEHOLDER/NDP462-DevPack.exe'; \
Invoke-WebRequest -OutFile 'C:\NDP462-DevPack.exe' -Uri $ndpUrl; \
Start-Process 'C:\NDP462-DevPack.exe' -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force 'C:\NDP462-DevPack.exe'; \
# Add MSBuild to PATH (assumes VS Build Tools 2019 layout)
RUN if (Test-Path 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin') { \
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','Machine') + ';C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin', 'Machine') \
} \
; \
# Install NuGet CLI
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\nuget.exe' -Uri 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
[Environment]::SetEnvironmentVariable('Path', ${env:PATH} + ';C:\', 'Machine')
# Copy source into image and build
WORKDIR /src
COPY . /src
# Restore NuGet packages and build solution
RUN C:\nuget.exe restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal
# Default to running the built application (headless container caveat: Run as needed)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi bitnami/dotnet-sdk (22 stars): Bitnami Secure Image for dotnet-sdk intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. envoyproxy/envoy-windows-ltsc2022-dev (0 stars): paketobuildpacks/dotnet-core-sdk (1 stars): rancher/os2-framework (0 stars): frankframework/frank2example (0 stars): Example of the Frank!Framework frankframework/frank-console (0 stars): Show and manage adapters of the Frank!Framework cloudfoundry/garden-windows-ci (0 stars): CI image for the CF Garden-Windows team appdynamics/dotnet-core-agent (10 stars): DotNet Core Agent for Kubernetes
rapidfort/microsoft-sql-server-2019-ib (39 stars): RapidFort optimized, hardened image for Microsoft SQL Server 2019 frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi airbyte/source-microsoft-teams (0 stars): intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. paketobuildpacks/microsoft-openjdk (0 stars): rancher/os2-framework (0 stars): frankframework/frank2example (0 stars): Example of the Frank!Framework frankframework/frank-console (0 stars): Show and manage adapters of the Frank!Framework airbyte/source-microsoft-dataverse (0 stars): airbyte/source-microsoft-lists (0 stars):
rapidfort/microsoft-sql-server-2019-ib (39 stars): RapidFort optimized, hardened image for Microsoft SQL Server 2019 envoyproxy/envoy-windows-ltsc2022-dev (0 stars): frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi airbyte/source-microsoft-teams (0 stars): paketobuildpacks/microsoft-openjdk (0 stars): envoyproxy/envoy-windows-ltsc2022 (0 stars): airbyte/source-microsoft-dataverse (0 stars): airbyte/source-microsoft-lists (0 stars): airbyte/source-microsoft-entra-id (0 stars): m365pnp/cli-microsoft365 (10 stars): CLI for Microsoft 365
Image windowsservercore:ltsc2022 NOT found on Docker Hub.
Image "mcr.microsoft.com/dotnet/framework/winforms:4.8-windowsservercore-ltsc2019" NOT found on Docker Hub.
frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. frankframework/frank2example (0 stars): Example of the Frank!Framework rancher/os2-framework (0 stars): frankframework/frank-console (0 stars): Show and manage adapters of the Frank!Framework octopusdeploy/mssql-server-windows-express (7 stars): Fork of official microsoft/mssql-server-windows-express newrelic/growth-frameworks (0 stars): newrelic/growth-frameworks dockurr/windows (541 stars): Windows inside a Docker container. cloudfoundry/garden-windows-ci (0 stars): CI image for the CF Garden-Windows team antrea/antrea-windows (3 stars): The Docker image for the Antrea Agent on Windows
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] # Build environment for a classic .NET Framework WinForms app (net462) # Copies the repository, restores NuGet packages and builds the solution in Release mode. WORKDIR /src COPY . /src # Restore NuGet packages and build solution RUN nuget restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal # Default to running the built application (GUI apps may not run in headless containers) CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a classic .NET Framework WinForms app (net462)
# This Dockerfile installs VS Build Tools and .NET Framework 4.6.2 Developer Pack,
# then restores NuGet packages and builds Rapr.sln in Release mode.
WORKDIR /src
COPY . /src
# Install Visual Studio Build Tools (MSBuild) - placeholder for CI where valid URL is provided
RUN $ErrorActionPreference = 'Stop'; \
$vsBuildToolsExe = 'C:\\vs_buildtools.exe'; \
# Use official VS Build Tools bootstrapper URL in CI
Invoke-WebRequest -OutFile $vsBuildToolsExe -Uri 'https://aka.ms/vsbuildtools'; \
Start-Process $vsBuildToolsExe -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force $vsBuildToolsExe; \
# Install .NET Framework 4.6.2 Developer Pack
RUN $ErrorActionPreference = 'Stop'; \
$devPack = 'C:\\NDP462-DevPack.exe'; \
Invoke-WebRequest -OutFile $devPack -Uri 'https://download.visualstudio.microsoft.com/download/pr/placeholder/NDP462-DevPack.exe'; \
Start-Process $devPack -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force $devPack; \
# Install NuGet CLI
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\nuget.exe' -Uri 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
[Environment]::SetEnvironmentVariable('Path', ${env:PATH} + ';C:\\', 'Machine')
# Restore NuGet packages and build solution
RUN C:\\nuget.exe restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\\"Any CPU\\" /v:minimal
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] # Build environment for a classic .NET Framework WinForms app (net462) # Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode. WORKDIR /src COPY . /src # Restore NuGet packages and build solution RUN nuget restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Default to running the built application (GUI apps may not run in headless containers) CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
Image mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 NOT found on Docker Hub.
frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. envoyproxy/envoy-windows-ltsc2022-dev (0 stars): rancher/os2-framework (0 stars): frankframework/frank2example (0 stars): Example of the Frank!Framework frankframework/frank-console (0 stars): Show and manage adapters of the Frank!Framework newrelic/growth-frameworks (0 stars): newrelic/growth-frameworks appdynamics/dotnet-core-agent (10 stars): DotNet Core Agent for Kubernetes bitnami/dotnet-sdk (22 stars): Bitnami Secure Image for dotnet-sdk islasgeci/common_task_framework (0 stars):
欢迎使用 Windows - support.microsoft.com https://support.microsoft.com/zh-cn/welcometowindows 欢迎使用Windows 11! 了解新功能、升级常见问题解答、设备生命周期和支持选项。 Install Windows Updates - Microsoft Support https://support.microsoft.com/en-us/windows/install-windows-updates-3c5ae7fc-9fb6-9af1-1984-b5e0412c556a If you're warned by Windows Update that you don't have enough space on your device to install updates, see Free up space for Windows updates. If you experience internet connection issues while … Windows help and learning - support.microsoft.com https://support.microsoft.com/en-us/windows Find help and how-to articles for Windows operating systems. Get support for Windows and learn about installation, updates, privacy, security and more. Windows yardımı ve öğrenimi - support.microsoft.com https://support.microsoft.com/tr-tr/windows Windows işletim sistemleri için yardım ve “Nasıl yapılır?” makalelerini bulun. Windows için destek alın ve yükleme, güncelleştirmeler, gizlilik, güvenlik ve daha fazlası hakkında bilgi edinin. Instalar o Windows Atualizações - Suporte da Microsoft https://support.microsoft.com/pt-br/windows/instalar-o-windows-atualizações-3c5ae7fc-9fb6-9af1-1984-b5e0412c556a No Windows 10, você decide quando e como obter as últimas atualizações para manter seu dispositivo funcionando de forma suave e segura. Selecione Iniciar , aceda a Definições Atualização & …
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] # Build environment for a classic .NET Framework WinForms app (net462) # Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode. WORKDIR /src COPY . /src # Restore NuGet packages and build solution RUN nuget restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Default to running the built application (GUI apps may not run in headless containers) CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2022
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a classic .NET Framework WinForms app (net462)
# Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode.
WORKDIR /src
COPY . /src
# Install Visual Studio Build Tools (for MSBuild)
RUN $ErrorActionPreference = 'Stop'; \
$vsBuildToolsUrl = 'https://aka.ms/vsbuildtools'; \
Invoke-WebRequest -OutFile 'C:\\vs_buildtools.exe' -Uri $vsBuildToolsUrl; \
Start-Process 'C:\\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\\vs_buildtools.exe'; \
# Install .NET Framework 4.6.2 Developer Pack
RUN $ErrorActionPreference = 'Stop'; \
$ndpUrl = 'https://download.visualstudio.microsoft.com/download/pr/placeholder/NDP462-DevPack.exe'; \
Invoke-WebRequest -OutFile 'C:\\NDP462-DevPack.exe' -Uri $ndpUrl; \
Start-Process 'C:\\NDP462-DevPack.exe' -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force 'C:\\NDP462-DevPack.exe'; \
# Install NuGet CLI
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\nuget.exe' -Uri 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
[Environment]::SetEnvironmentVariable('Path', ${env:PATH} + ';C:\\', 'Machine')
# Build
RUN C:\\nuget.exe restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a classic .NET Framework WinForms app (net462)
# This Dockerfile self-hosts a Windows build environment by installing VS Build Tools
# and the .NET Framework 4.6.2 Developer Pack, then restores NuGet packages and builds Rapr.sln.
WORKDIR /src
COPY . /src
# Install Visual Studio Build Tools (MSBuild)
RUN $ErrorActionPreference = 'Stop'; \
$vsBuildToolsUrl = 'https://aka.ms/vsbuildtools'; \
Invoke-WebRequest -OutFile 'C:\\vs_buildtools.exe' -Uri $vsBuildToolsUrl; \
Start-Process 'C:\\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\\vs_buildtools.exe'; \
# Install .NET Framework 4.6.2 Developer Pack
RUN $ErrorActionPreference = 'Stop'; \
$ndpUrl = 'https://download.visualstudio.microsoft.com/download/pr/placeholder/NDP462-DevPack.exe'; \
Invoke-WebRequest -OutFile 'C:\\NDP462-DevPack.exe' -Uri $ndpUrl; \
Start-Process 'C:\\NDP462-DevPack.exe' -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force 'C:\\NDP462-DevPack.exe'; \
# Install NuGet CLI
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\nuget.exe' -Uri 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
[Environment]::SetEnvironmentVariable('Path', ${env:PATH} + ';C:\\', 'Machine')
# Build
RUN C:\\nuget.exe restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
开发者们,Docker到底是什么,能干什么? - 知乎 https://www.zhihu.com/question/600292294/answers/updated Docker 容器是一种轻量级、可移植的虚拟化技术,用于将应用程序及其依赖项打包在一起,以便在任何环境中一致地运行。以下是关于 Docker 容器的详细介绍: 1. Docker 容器的基本概念 Docker 容器是 … 如何通俗解释Docker是什么? - 知乎 https://www.zhihu.com/question/28300645 一点关于 docker是什么、相比其他VM区别、有什么用 的介绍,不感兴趣的跳过即可 最常听到的说法,“docker是一种轻量级、进程级VM”,但这种描述并不能完全解答疑惑,用专业术语去解释专业术语 … 开发者们,Docker到底是什么,能干什么? - 知乎 https://www.zhihu.com/question/600292294 Docker是一种虚拟化技术,它可以让开发人员在不同的计算机上创建和运行应用程序,而无需关心底层操作系统或其他软件的配置。使用Docker,开发人员可以将应用程序及其所有依赖项打包到一个称为“ … windows 上 docker 体验怎么样? - 知乎 https://www.zhihu.com/question/325903456/answers/updated Windows安装docker docker已经成为一种标准 然而,偏偏docker对Linux和macOS都提供了良好的支持,但对win而言,就不太友好了。 但是docker太好用了,但是我又得用windows系统,怎么办呢? Docker基础:Docker是什么,为什么这么火? https://www.zhihu.com/tardis/bd/art/541347187 一、Docker是什么? Docker是一个开源的应用容器引擎,它基于go语言开发,并遵从Apache2.0开源协议。 使用Docker可以让开发者封装他们的应用以及依赖包到一个可移植的容器中,然后发布到任意的 …
rapidfort/microsoft-sql-server-2019-ib (39 stars): RapidFort optimized, hardened image for Microsoft SQL Server 2019 airbyte/source-microsoft-teams (0 stars): m365pnp/cli-microsoft365 (10 stars): CLI for Microsoft 365 paketobuildpacks/microsoft-openjdk (0 stars): docker/dockerfile (125 stars): Official Dockerfile frontend images that enable building Dockerfiles with BuildK airbyte/source-microsoft-dataverse (0 stars): airbyte/source-microsoft-lists (0 stars): airbyte/source-microsoft-entra-id (0 stars): airbyte/source-microsoft-sharepoint (0 stars): acuvity/mcp-server-microsoft-graph (1 stars): Connect to microsoft API to get applications, sites users and more.
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a classic .NET Framework WinForms app (net462)
# Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode.
WORKDIR /src
COPY . /src
# Install NuGet CLI
RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
# Install Visual Studio Build Tools (MSBuild)
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\vs_buildtools.exe' -Uri 'https://aka.ms/vsbuildtools'; \
Start-Process 'C:\\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\\vs_buildtools.exe'
# Install .NET Framework 4.6.2 Developer Pack (NDP462)
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\NDP462-DevPack.exe' -Uri 'https://download.visualstudio.microsoft.com/download/pr/placeholder/NDP462-DevPack.exe'; \
Start-Process 'C:\\NDP462-DevPack.exe' -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force 'C:\\NDP462-DevPack.exe'
# Build
RUN C:\\nuget.exe restore Rapr.sln
RUN $msbuildPath = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin\\MSBuild.exe'; \
if (Test-Path $msbuildPath) { & $msbuildPath Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal } else { echo 'MSBuild not found'; exit 1 }
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] # Build environment for a classic .NET Framework WinForms app (net462) # Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode. WORKDIR /src COPY . /src # Install NuGet CLI RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe # Restore NuGet packages and build solution RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Default to running the built application (GUI apps may not run in headless containers) CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2022 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] # Build environment for a classic .NET Framework WinForms app (net462) # Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode. WORKDIR /src COPY . /src # Install NuGet CLI RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe # Restore NuGet packages and build solution RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Default to running the built application (GUI apps may not run in headless containers) CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a classic .NET Framework WinForms app (net462)
# Copies the repository, restores NuGet packages and builds Rapr.sln in Release mode.
WORKDIR /src
COPY . /src
# Install NuGet CLI
RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
# Install Visual Studio Build Tools (MSBuild)
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\vs_buildtools.exe' -Uri 'https://aka.ms/vsbuildtools'; \
Start-Process 'C:\\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\\vs_buildtools.exe'
# Install .NET Framework 4.6.2 Developer Pack
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\NDP462-DevPack.exe' -Uri 'https://download.visualstudio.microsoft.com/download/pr/placeholder/NDP462-DevPack.exe'; \
Start-Process 'C:\\NDP462-DevPack.exe' -ArgumentList '/quiet', '/norestart' -Wait; \
Remove-Item -Force 'C:\\NDP462-DevPack.exe'
# Restore and build
RUN C:\\nuget.exe restore Rapr.sln
RUN $msbuildPath = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin\\MSBuild.exe'; \
if (Test-Path $msbuildPath) { & $msbuildPath Rapr.sln /p:Configuration=Release /p:Platform=\\"Any CPU\\" /v:minimal } else { Write-Host 'MSBuild not found'; exit 1 }
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
Concerns: No Dockerfile found at repo root
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build environment for a .NET Framework WinForms app (net462)
# Copy source and build Rapr.sln in Release mode.
WORKDIR /src
COPY . /src
# Install NuGet CLI
RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
# Install Visual Studio Build Tools (MSBuild) - placeholder steps for CI
RUN $ErrorActionPreference = 'Stop'; \
Invoke-WebRequest -OutFile 'C:\\vs_buildtools.exe' -Uri 'https://aka.ms/vsbuildtools'; \
Start-Process 'C:\\vs_buildtools.exe' -ArgumentList '--quiet', '--wait', '--norestart', '--add', 'Microsoft.VisualStudio.Workload.VSBuildTools' -NoNewWindow -Wait; \
Remove-Item -Force 'C:\\vs_buildtools.exe'
# Build
RUN C:\\nuget.exe restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default to running the built application (GUI apps may not run in headless containers)
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2022
WORKDIR /src
COPY . /src
RUN powershell -Command "& { Write-Host 'Building Rapr'}"
CMD ["Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH=C:\\nuget;${PATH}
# Restore and build from source
RUN nuget restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
Image mcr.microsoft.com/dotnet/framework/sdk:4.8 NOT found on Docker Hub.
envoyproxy/envoy-windows-ltsc2022-dev (0 stars): octopusdeploy/mssql-server-windows-express (7 stars): Fork of official microsoft/mssql-server-windows-express dockurr/windows (541 stars): Windows inside a Docker container. envoyproxy/envoy-windows-ltsc2022 (0 stars): cloudfoundry/garden-windows-ci (0 stars): CI image for the CF Garden-Windows team linuxserver/code-server (729 stars): antrea/antrea-windows (3 stars): The Docker image for the Antrea Agent on Windows rancher/agent-windows (1 stars): rancher/dns-windows (0 stars): linuxserver/openssh-server (145 stars):
frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi bitnami/dotnet-sdk (22 stars): Bitnami Secure Image for dotnet-sdk intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. dockurr/windows (541 stars): Windows inside a Docker container. rancher/os2-framework (0 stars): cloudfoundry/garden-windows-ci (0 stars): CI image for the CF Garden-Windows team frankframework/frank2example (0 stars): Example of the Frank!Framework frankframework/frank-console (0 stars): Show and manage adapters of the Frank!Framework newrelic/growth-frameworks (0 stars): newrelic/growth-frameworks antrea/antrea-windows (3 stars): The Docker image for the Antrea Agent on Windows
ubuntu/dotnet-runtime (24 stars): Chiselled Ubuntu runtime image for .NET apps. Long-term tracks maintained by Can rancher/rke2-runtime (5 stars): paketobuildpacks/dotnet-core-runtime (0 stars): ibm-semeru-runtimes (60 stars): IBM Semeru Runtimes Official Images for OpenJDK and Eclipse OpenJ9 binaries. frankframework/frankframework (2 stars): An easy-to-use, stateless integration framework which allows messages to be modi chainguard/dotnet-runtime (0 stars): Build, ship and run secure software with Chainguard's low-to-zero CVE container paketobuildpacks/dotnet-core-aspnet-runtime (0 stars): intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. rancher/rancher-runtime (0 stars): qualys/runtime-sensor (1 stars): Qualys runtime-sensor
Image windowsservercore:ltsc2022 NOT found on Docker Hub.
FROM mcr.microsoft.com/windows/servercore:ltsc2022
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore Rapr.sln
# Build from source
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore Rapr.sln
# Build from source
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore Rapr.sln
# Build from source
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore Rapr.sln
# Build from source
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
COPY . .
# Create NuGet dir and download NuGet
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
ENV PATH="C:\\nuget;${PATH}"
# Restore and build
RUN nuget restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Expose the executable path in the container's working dir
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH as=FROM microsoft/dotnet-framework-sdk:4.8
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Create NuGet CLI directory and download NuGet
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore Rapr.sln
# Build from source
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built WinForms executable
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"] WORKDIR C:\\src # Copy source files into image COPY . . # Restore NuGet packages and build RUN nuget restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal # Default command to run the built application CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
ENV PATH="C:\\nuget;${PATH}"
# Restore and build
RUN nuget restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
COPY . .
# Create NuGet CLI directory and download NuGet
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages and build
RUN nuget restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal
# Default command: run the built application
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source files into the image
COPY . .
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\nuget -Force; \
$nugetUrl = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
Invoke-WebRequest -Uri $nugetUrl -OutFile C:\\nuget\\nuget.exe -UseBasicParsing
# Add NuGet to PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages and build
RUN nuget restore Rapr.sln
RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\\"Any CPU\\" /v:minimal
# Default command: run the built application
CMD ["C:\\src\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 # Build and run dependencies SHELL ["powershell", "-Command"] WORKDIR C:\Rapr COPY . . # Download NuGet CLI and restore packages RUN Set-ExecutionPolicy Bypass -Scope Process -Force; iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\nuget.exe # Restore NuGet packages and build the solution RUN C:\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Entrypoint to run the built application ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
Image mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 NOT found on Docker Hub.
Concerns: No Dockerfile found at repo root
FROM windowsservercore:ltsc2019 SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass", "-Command"] WORKDIR C:\\Rapr COPY . . # Install NuGet CLI and restore packages, then build the solution RUN Invoke-WebRequest -OutFile C:\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal # Expose the built executable as the container entry ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] WORKDIR C:\\Rapr COPY . . # Install NuGet CLI and restore packages, then build the solution RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Entrypoint to run the built application ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM windowsservercore-ltsc2025 SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] WORKDIR C:\\Rapr COPY . . RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 # Work in a Windows container to build a .NET Framework WinForms app targeting net462 WORKDIR C:\\Rapr # Copy source COPY . . # Ensure NuGet CLI is available, restore and build SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] # Download NuGet CLI RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe # Restore NuGet packages for the solution RUN C:\\nuget.exe restore Rapr.sln # Build the solution in Release mode RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Run the built WinForms app (note: headless container GUI may not render) ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 WORKDIR C:\\Rapr COPY . . SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] # Restore NuGet packages and build Rapr solution RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal # Entry point to run the built application ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 AS build WORKDIR C:\\src COPY . . # Install NuGet CLI and restore packages RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln # Build the solution in Release mode RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 AS final WORKDIR C:\\Rapr COPY --from=build C:\\src\\Rapr\\Rapr\\bin\\Release\\ . ENTRYPOINT ["Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 AS build WORKDIR C:\\src COPY . . SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] # Install NuGet CLI and restore/build RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 AS final WORKDIR C:\\Rapr COPY --from=build C:\\src\\Rapr\\Rapr\\bin\\Release\\ . ENTRYPOINT ["Rapr.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 AS build WORKDIR C:\\src COPY . . SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] # Install NuGet CLI and restore/build Rapr solution RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 AS final WORKDIR C:\\Rapr COPY --from=build C:\\src\\Rapr\\Rapr\\bin\\Release\\ . ENTRYPOINT ["Rapr.exe"]
FROM microsoft/windowsservercore:ltsc2019 WORKDIR C:\\Rapr COPY . . SHELL ["powershell", "-Command"] # Install NuGet CLI and restore/build Rapr solution RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal ENTRYPOINT ["Rapr.exe"]
FROM windowsservercore-ltsc2025 # Build a WinForms .NET Framework 4.6.x app from source SHELL ["powershell", "-NoLogo", "-ExecutionPolicy", "Bypass"] WORKDIR C:\\Rapr COPY . . # Install NuGet CLI and restore/build Rapr solution RUN iwr -useb https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile C:\\nuget.exe RUN C:\\nuget.exe restore Rapr.sln RUN msbuild Rapr.sln /p:Configuration=Release /p:Platform=\"Any CPU\" /v:minimal # Entry point to run the built application (headless container may not render UI) ENTRYPOINT ["C:\\Rapr\\Rapr\\bin\\Release\\Rapr.exe"]