# Crea gli eseguibili single-file self-contained in dist\\. # Senza argomenti: win-x64 e linux-x64. Con argomenti: i rid indicati (es. .\scripts\publish.ps1 win-x64). # Funziona su Windows PowerShell 5.1 e PowerShell 7 (la compilazione per un altro sistema non richiede quel sistema). param([string[]]$Rids = @('win-x64', 'linux-x64')) $ErrorActionPreference = 'Stop' Set-Location (Split-Path -Parent $PSScriptRoot) foreach ($rid in $Rids) { Write-Host "== $rid" dotnet publish src/agent-wiki-ui/agent-wiki-ui.csproj -c Release -r $rid --self-contained -p:PublishSingleFile=true -o "dist/$rid" --nologo -v quiet if ($LASTEXITCODE -ne 0) { throw "publish fallito per $rid" } Get-ChildItem "dist/$rid" -Filter *.pdb -Recurse | Remove-Item # simboli delle librerie native: inutili a chi usa l'app } Write-Host '' Write-Host 'Eseguibili pronti:' foreach ($rid in $Rids) { Get-ChildItem "dist/$rid" -File | ForEach-Object { ' dist/{0}/{1} ({2:N0} MB)' -f $rid, $_.Name, ($_.Length / 1MB) } }