FROM windowsservercore-ltsc2025 # Use PowerShell for setup SHELL ["powershell", "-NoProfile", "-Command"] # Create a place for NuGet and sources RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Write-Host 'Downloading NuGet CLI...'; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy source code into the image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Set the entrypoint to the built executable (best effort for GUI apps in containers) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
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 mariadb/developers (0 stars): Docker demo images to support sample code and kits for https://mariadb.com/devel adobe/reactor-developer-docs (0 stars): Production-ready image of the reactor-developer-docs agentcatalog/golang-developer (0 stars): Expert Golang Developer specialized in implementing features and improving code
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 # Use PowerShell for setup SHELL ["powershell", "-NoProfile", "-Command"] RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy the repository into the image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Expose the path to the built executable (not a port, but for reference) # Set the entrypoint to the built executable ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Write-Host 'Downloading NuGet CLI...'; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy source code into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Execute the built binary by default (GUI apps may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
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):
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy repository into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Default to running the built application (GUI may require an interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 # Use PowerShell for setup SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy repository into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Default to running the application (GUI apps may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2022 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy repository into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Default to running the application (GUI apps may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy source into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Run the built application (GUI may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy repository into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Run the built application (GUI may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 SHELL ["powershell", "-NoProfile", "-Command"] # Prepare NuGet CLI RUN New-Item -ItemType Directory -Path C:\NuGet -Force; RUN Invoke-WebRequest -OutFile C:\NuGet\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing; # Copy repository into image RUN New-Item -ItemType Directory -Path C:\src -Force; COPY . C:\src WORKDIR C:\src # Restore NuGet packages and build in Release mode RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release # Run the built application (GUI may require interactive session) ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.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. 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 appdynamics/dotnet-core-agent (10 stars): DotNet Core Agent for Kubernetes newrelic/growth-frameworks (0 stars): newrelic/growth-frameworks paketobuildpacks/dotnet-core-sdk (1 stars): envoyproxy/envoy-windows-ltsc2022-dev (0 stars):
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe', 'C:\NuGet\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
mcy93w/windowsservercore (1 stars): cirrusci/windowsservercore (3 stars): Windows containers that can be executed on Google Cloud Platform hooky/windowsservercore (0 stars): fnichol/windowsservercore (0 stars): voogd/windowsservercore (0 stars): tgridcloudewsp/windowsservercore (2 stars): windows server core ltsc2019 vleschenko/windowsservercore (0 stars): genuinem7/windowsservercore (0 stars): abhirupguha/windowsservercore (0 stars): stephanvs/windowsservercore (0 stars):
FROM cirrusci/windowsservercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe', 'C:\NuGet\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-Command"]
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe', 'C:\NuGet\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\NuGet\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use PowerShell for setup
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet directory and download NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force;
RUN (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy source code
COPY . C:\src
WORKDIR C:\src
# Restore and build
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built executable by default
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM windowsservercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Install NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use PowerShell for setup
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM windowsservercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force;
RUN (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\NuGet\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore and build
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built application (GUI may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force;
RUN (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy repository into image
COPY . C:\src
WORKDIR C:\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built executable by default
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet folder and download NuGet CLI
RUN New-Item -ItemType Directory -Path C:\NuGet -Force;
RUN (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy source into image
COPY . C:\\src
WORKDIR C:\\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built executable (GUI apps may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy repository into image
COPY . C:\\src
WORKDIR C:\\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built executable by default (GUI apps may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
# Use PowerShell for setup
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet CLI
RUN New-Item -ItemType Directory -Path C:\\NuGet -Force; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\NuGet\\nuget.exe')
# Copy repository into image
COPY . C:\\src
WORKDIR C:\\src
# Restore NuGet packages and build in Release mode
RUN C:\\NuGet\\nuget.exe restore RevokeMsgPatcher.sln
RUN msbuild RevokeMsgPatcher.sln /m /p:Configuration=Release
# Run the built executable by default (GUI apps may require interactive session)
ENTRYPOINT ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
# General .git .gitignore .vs/ **/.vscode/ # Build output bin/ obj/ RevokeMsgPatcher/bin/ RevokeMsgPatcher/obj/ # NuGet and packages *.nupkg *.nuspec packages/ **/packages.config **/packages/ # Visual Studio related *.suo *.user *.userosscache *.sln.docstates # OS generated files .DS_Store Thumbs.db # Images and assets that are not needed for build context Images/ README.md README.markdown
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Install NuGet CLI if not present
RUN Invoke-WebRequest -OutFile C:\nuget\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
ENV PATH=C:\nuget;${PATH}
# Copy source and build
WORKDIR C:\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\src\RevokeMsgPatcher\bin\Release\RevokeMsgPatcher.exe"]
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): paketobuildpacks/microsoft-openjdk (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 intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework. airbyte/source-microsoft-sharepoint (0 stars):
No results found.
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet directory and download NuGet CLI if not present
RUN if (-Not (Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
ENV PATH=C:\\nuget;${PATH}
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM windowsservercore:ltsc2019
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet
RUN New-Item -ItemType Directory -Path C:\\nuget -Force
RUN if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Prepare NuGet
RUN if (-Not (Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force }
RUN if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
ENV PATH=C:\\nuget;${PATH}
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet directory and download NuGet CLI if not present
RUN if (-Not (Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
ENV PATH=C:\\nuget;${PATH}
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet directory and download NuGet CLI if not present
RUN if (-Not (Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force }
RUN if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
ENV PATH=C:\\nuget;${PATH}
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
# Use PowerShell for build steps
SHELL ["powershell", "-NoProfile", "-Command"]
# Create NuGet directory and download NuGet CLI if not present
RUN New-Item -ItemType Directory -Path C:\\nuget -Force
RUN if (-Not (Test-Path C:\\nuget\\nuget.exe)) { Invoke-WebRequest -OutFile C:\\nuget\\nuget.exe -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -UseBasicParsing }
ENV PATH=C:\\nuget;${PATH}
# Copy source and build
WORKDIR C:\\src
COPY . .
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Default command to run the built application (adjust path as needed)
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8 # Build image for RevokeMsgPatcher (WinForms app for .NET Framework 4.5.2) # It uses NuGet and MSBuild to restore and compile the solution. WORKDIR /src # Copy source code COPY . . # Restore NuGet packages for the solution RUN nuget restore RevokeMsgPatcher.sln # Build the Release configuration for the whole solution RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln # Default command: run the built executable CMD ["RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
Image mcr.microsoft.com/dotnet/framework/sdk:4.8 NOT found on Docker Hub.
FROM mcr.microsoft.com/windows/servercore:ltsc2022
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR /src
# Copy source to image
COPY . .
# Install NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command \
if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
$wc = New-Object System.Net.WebClient; \
$url = 'https://dist.nuget.org/win-x86-commandline/latest/nuget.exe'; \
$out = 'C:\\nuget\\nuget.exe'; \
$wc.DownloadFile($url, $out)
# Ensure nuget in PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build output to /app
RUN powershell -Command "Copy-Item -Path RevokeMsgPatcher\\bin\\Release\\* -Destination C:\\app -Recurse -Force"
WORKDIR /app
CMD ["RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2022
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR /src
# Copy source code
COPY . .
# Install NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command \
if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
[System.Net.WebClient]::new().DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
# Ensure nuget in PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore and build (Release configuration)
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build output to /app
RUN powershell -Command "Copy-Item -Path RevokeMsgPatcher\\bin\\Release\\* -Destination C:\\app -Recurse -Force"
WORKDIR /app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR C:\\src
# Copy source code
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
$wc = New-Object System.Net.WebClient; \
$wc.DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
# Ensure nuget in PATH
ENV PATH="C:\\nuget;${PATH}"
# Restore and build (Release configuration)
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build output to /app
RUN powershell -Command "Copy-Item -Path RevokeMsgPatcher\\bin\\Release\\* -Destination C:\\app -Recurse -Force"
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
mcy93w/windowsservercore (1 stars): cirrusci/windowsservercore (3 stars): Windows containers that can be executed on Google Cloud Platform hooky/windowsservercore (0 stars): fnichol/windowsservercore (0 stars): voogd/windowsservercore (0 stars): tgridcloudewsp/windowsservercore (2 stars): windows server core ltsc2019 vleschenko/windowsservercore (0 stars): genuinem7/windowsservercore (0 stars): abhirupguha/windowsservercore (0 stars): stephanvs/windowsservercore (0 stars):
FROM windowsservercore:ltsc2019
# Build RevokeMsgPatcher from source using MSBuild and NuGet
# This container targets a Windows Server Core base image to build a .NET Framework 4.5.2 WinForms app
WORKDIR C:\src
# Copy source code
COPY . .
# Ensure NuGet CLI is downloaded and available on PATH
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN powershell -Command "Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force"
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
WORKDIR C:\\src
# Copy source code
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN powershell -Command "Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force"
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
microsoft/dotnet-framework-sdk (4 stars): Official images for the .NET Framework SDK 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): paketobuildpacks/microsoft-openjdk (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 intel/nmt_marian_framework_demo (0 stars): Docker Image for open-source Neural Machine Translation (NMT) Marian* framework.
No files found matching pattern.
FROM mcr.microsoft.com/windows/servercore:ltsc2019
# Build RevokeMsgPatcher from source using MSBuild and NuGet
# This container targets a Windows Server Core base image to build a .NET Framework 4.5.2 WinForms app
WORKDIR C:\src
# Copy source code
COPY . .
# Ensure NuGet CLI is downloaded and available on PATH
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN powershell -Command "Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force"
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR C:\src
# Copy source code
COPY . .
# Install NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "If(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')"
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN powershell -Command "Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force"
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8
WORKDIR /src
COPY . .
# Download NuGet CLI and restore packages
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "`n $wc = New-Object System.Net.WebClient; $wc.DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')`" \
&& set PATH=C:\\nuget;${PATH}
RUN nuget restore RevokeMsgPatcher.sln
# Build Release
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Expose the built executable as the container's command
CMD ["RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR C:\\src
# Copy source code into container
COPY . .
# Download NuGet CLI and add to PATH
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path '.\\RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source code into the container
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
WORKDIR C:\src
# Copy source
COPY . .
# Download NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')"
ENV PATH="C:\\nuget;${PATH}"
# Restore and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Expose output
RUN if \"%OS%\"==\"Windows_NT\" (powershell -Command Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force)
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
# Build RevokeMsgPatcher from source using MSBuild and NuGet
# This container targets a Windows Server Core base image to build a .NET Framework 4.5.2 WinForms app
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source code into the container
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source code
COPY . .
# Download NuGet CLI and ensure it's in PATH
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force }
RUN (New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force }
RUN Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
# Build RevokeMsgPatcher from source using MSBuild and NuGet
# This container targets a Windows Server Core base image to build a .NET Framework 4.5.2 WinForms app
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source code into the container
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM mcy93w/windowsservercore:ltsc2019
WORKDIR C:\\src
# Copy source code
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages
RUN nuget restore RevokeMsgPatcher.sln
# Build Release
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
# Build RevokeMsgPatcher from source using MSBuild and NuGet
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
WORKDIR C:\\src
# Copy source code
COPY . .
# Download NuGet CLI and add to PATH
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build Release
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force }
RUN Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore:ltsc2019
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR C:\\src
# Copy source code
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to a dedicated app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR C:\\app
CMD ["RevokeMsgPatcher.exe"]
FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019
WORKDIR /src
# Copy source code
COPY . .
# Install NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-WebRequest -OutFile C:\\nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages and build
RUN nuget restore RevokeMsgPatcher.sln
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Copy build outputs to app folder
RUN if(!(Test-Path C:\\app)) { New-Item -ItemType Directory -Path C:\\app -Force } ; \
Copy-Item -Path 'RevokeMsgPatcher\\bin\\Release\\*' -Destination 'C:\\app' -Recurse -Force
WORKDIR /app
CMD ["RevokeMsgPatcher.exe"]
FROM windowsservercore-ltsc2025
SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass"]
# Build RevokeMsgPatcher from source using MSBuild and NuGet
WORKDIR C:\\src
# Copy source code into the container
COPY . .
# Install NuGet CLI
RUN if(!(Test-Path C:\\nuget)) { New-Item -ItemType Directory -Path C:\\nuget -Force } ; \
(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget\\nuget.exe')
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the solution (Release configuration)
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Entry point: run the main executable
CMD ["C:\\src\\RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]
FROM microsoft/windowsservercore:ltsc2019
WORKDIR /src
# Copy source code
COPY . .
# Download NuGet CLI
RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "(New-Object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','C:\\nuget.exe')" \
&& move-item -force C:\\nuget.exe C:\\nuget\\nuget.exe
ENV PATH="C:\\nuget;${PATH}"
# Restore NuGet packages for the solution
RUN nuget restore RevokeMsgPatcher.sln
# Build the Release configuration
RUN msbuild /m /p:Configuration=Release RevokeMsgPatcher.sln
# Expose built executable
CMD ["RevokeMsgPatcher\\bin\\Release\\RevokeMsgPatcher.exe"]