param( [string]$Version = "1.0.0" ) $Project = "ADBulkTool.csproj" $Config = "Release" function Publish { param([string]$Rid, [string]$Suffix) Write-Host "Publishing for $Rid..." dotnet publish $Project ` -c $Config ` -r $Rid ` --self-contained true ` -p:PublishSingleFile=true ` -p:IncludeNativeLibrariesForSelfExtract=true ` -p:Version=$Version ` -o "publish/$Suffix" Write-Host " -> publish/$Suffix" } Push-Location (Split-Path $PSScriptRoot) Publish "win-x64" "windows-x64" Publish "linux-x64" "linux-x64" Publish "osx-x64" "macos-x64" Publish "osx-arm64" "macos-arm64" Write-Host "" Write-Host "All builds complete. Artifacts are in ./publish/" Get-ChildItem ./publish/*/ | Select-Object Name, Length Pop-Location