Skip to content

Instantly share code, notes, and snippets.

@ww898
Last active October 19, 2023 10:18
Show Gist options
  • Save ww898/2909d451d02528317a4007e157ec1d5b to your computer and use it in GitHub Desktop.
Save ww898/2909d451d02528317a4007e157ec1d5b to your computer and use it in GitHub Desktop.
Compile .NET project on Windows for all OSes
@echo off
set _DotNet=dotnet.exe
set _PkgDir=E:\NuPkg\packages
if not exist "%_PkgDir%" mkdir "%_PkgDir%"
call :run netcoreapp1.0 centos-x64
call :run netcoreapp1.0 debian.9-x64
call :run netcoreapp1.0 fedora.27-x64
call :run netcoreapp1.0 rhel-x64
call :run netcoreapp1.0 ubuntu.16.04-x64
call :run netcoreapp1.0 osx.10.10-x64
call :run netcoreapp1.0 win7-x64
call :run netcoreapp1.0 win7-x86
call :run netcoreapp1.1 centos-x64
call :run netcoreapp1.1 debian.9-x64
call :run netcoreapp1.1 fedora.27-x64
call :run netcoreapp1.1 rhel-x64
call :run netcoreapp1.1 ubuntu.16.04-x64
call :run netcoreapp1.1 osx.10.10-x64
call :run netcoreapp1.1 win7-x64
call :run netcoreapp1.1 win7-x86
call :run netcoreapp2.0 linux-x64
call :run netcoreapp2.0 osx-x64
call :run netcoreapp2.0 win-x64
call :run netcoreapp2.0 win-x86
call :run netcoreapp2.1 linux-arm64
call :run netcoreapp2.1 linux-arm
call :run netcoreapp2.1 linux-x64
call :run netcoreapp2.1 linux-musl-x64
call :run netcoreapp2.1 osx-x64
call :run netcoreapp2.1 win-x64
call :run netcoreapp2.1 win-x86
call :run netcoreapp2.2 linux-arm64
call :run netcoreapp2.2 linux-arm
call :run netcoreapp2.2 linux-x64
call :run netcoreapp2.2 linux-musl-x64
call :run netcoreapp2.2 osx-x64
call :run netcoreapp2.2 win-arm
call :run netcoreapp2.2 win-x64
call :run netcoreapp2.2 win-x86
call :run netcoreapp3.0 linux-arm64
call :run netcoreapp3.0 linux-arm
call :run netcoreapp3.0 linux-x64
call :run netcoreapp3.0 linux-musl-x64
call :run netcoreapp3.0 osx-x64
call :run netcoreapp3.0 win-arm
call :run netcoreapp3.0 win-x86
call :run netcoreapp3.0 win-x64
call :run netcoreapp3.1 linux-arm64
call :run netcoreapp3.1 linux-arm
call :run netcoreapp3.1 linux-x64
call :run netcoreapp3.1 linux-musl-x64
call :run netcoreapp3.1 osx-x64
call :run netcoreapp3.1 win-arm
call :run netcoreapp3.1 win-x86
call :run netcoreapp3.1 win-x64
call :run net5.0 linux-arm64
call :run net5.0 linux-arm
call :run net5.0 linux-x64
call :run net5.0 linux-musl-arm64
call :run net5.0 linux-musl-arm
call :run net5.0 linux-musl-x64
call :run net5.0 osx-x64
call :run net5.0 win-arm64
call :run net5.0 win-x64
call :run net5.0 win-x86
call :run net6.0 linux-arm64
call :run net6.0 linux-arm
call :run net6.0 linux-x64
call :run net6.0 linux-musl-arm64
call :run net6.0 linux-musl-arm
call :run net6.0 linux-musl-x64
call :run net6.0 osx-arm64
call :run net6.0 osx-x64
call :run net6.0 win-arm64
call :run net6.0 win-x64
call :run net6.0 win-x86
call :run net7.0 linux-arm64
call :run net7.0 linux-arm
call :run net7.0 linux-x64
call :run net7.0 linux-musl-arm64
call :run net7.0 linux-musl-arm
call :run net7.0 linux-musl-x64
call :run net7.0 osx-arm64
call :run net7.0 osx-x64
call :run net7.0 win-arm64
call :run net7.0 win-x64
call :run net7.0 win-x86
call :run net20 win-x64
call :run net20 win-x86
call :run net40 win-x64
call :run net40 win-x86
call :run net461 linux-arm64
call :run net461 linux-arm
call :run net461 linux-x64
call :run net461 linux-musl-arm64
call :run net461 linux-musl-arm
call :run net461 linux-musl-x64
call :run net461 osx-arm64
call :run net461 osx-x64
call :run net461 win-arm64
call :run net461 win-arm
call :run net461 win-x64
call :run net461 win-x86
echo OK
goto eof
:run
setlocal
echo %1 %2
set DOTNET_MULTILEVEL_LOOKUP=0
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_CLI_TELEMETRY_OPTOUT=1
set DOTNET_NOLOGO=1
"%_DotNet%" restore --packages "%_PkgDir%" -p:JB_TargetFramework=%1 -r %2 || exit 666
"%_DotNet%" publish --packages "%_PkgDir%" -p:JB_TargetFramework=%1 -r %2 -f %1 --self-contained true || exit 666
endlocal
exit /b
:eof
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment