Aggiunta script x mass update nuget microsoft
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$ProjectPath,
|
||||
|
||||
[string]$Version = "8.0.23"
|
||||
)
|
||||
|
||||
# Namespace da aggiornare
|
||||
$namespaces = @(
|
||||
"Microsoft.EntityFrameworkCore",
|
||||
"Microsoft.AspNetCore"
|
||||
)
|
||||
|
||||
if (-not (Test-Path $ProjectPath)) {
|
||||
Write-Host "ERRORE: Progetto non trovato: $ProjectPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Progetto: $ProjectPath"
|
||||
Write-Host "Versione target: $Version"
|
||||
Write-Host "Analizzo pacchetti outdated..."
|
||||
Write-Host ""
|
||||
|
||||
# Ottieni la lista dei pacchetti outdated
|
||||
$outdated = dotnet list "$ProjectPath" package --outdated
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "Errore nell'esecuzione di 'dotnet list package'." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
foreach ($ns in $namespaces) {
|
||||
$matches = $outdated | Select-String $ns
|
||||
|
||||
foreach ($m in $matches) {
|
||||
$line = $m.ToString().Trim()
|
||||
|
||||
# Spezza la riga in colonne non vuote
|
||||
$columns = $line -split "\s+" | Where-Object { $_ -ne "" }
|
||||
|
||||
# Il nome del pacchetto è la prima colonna che NON è ">"
|
||||
$pkg = $columns | Where-Object { $_ -ne ">" } | Select-Object -First 1
|
||||
|
||||
if (-not $pkg) {
|
||||
Write-Host " Riga non riconosciuta: $line" -ForegroundColor Yellow
|
||||
continue
|
||||
}
|
||||
|
||||
Write-Host " -> Aggiorno $pkg a $Version"
|
||||
dotnet add "$ProjectPath" package $pkg --version $Version
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "Aggiornamento completato."
|
||||
Reference in New Issue
Block a user