Zum Hauptinhalt springen

Update auf .NET 10 durchführen

tipp

Die Skripte sind in folgendender Gitlab-Repository zu finden: https://gitlab.hl-dev.de/public-projects/de.devcodemonkey.update-net10

1. Schritt Update des Target Frameworks in der Projektdatei (.csproj) auf .Net 10.0:

Das Target Framework muss in der .csproj-Datei angepasst werden:

<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

Update für alle Projekte in einem Verzeichnisbaum durchführen:

Datei: update-dotnet.ps1

# Get all .csproj files recursively
$projectFiles = Get-ChildItem -Path "." -Filter "*.csproj" -Recurse
$newTargetFramework = "net10.0"

Write-Host "Found $($projectFiles.Count) project(s)" -ForegroundColor Green

foreach ($project in $projectFiles) {
Write-Host "`nUpdating: $($project.FullName)" -ForegroundColor Yellow

try {
# Read the project file
$content = Get-Content $project.FullName -Raw

# Replace or add TargetFramework
if ($content -match '<TargetFramework>.*?</TargetFramework>') {
$content = $content -replace '<TargetFramework>.*?</TargetFramework>', "<TargetFramework>$newTargetFramework</TargetFramework>"
} else {
# Add TargetFramework if not found
$content = $content -replace '(<PropertyGroup>)', "`$1`n <TargetFramework>$newTargetFramework</TargetFramework>"
}

# Write back to file
Set-Content $project.FullName -Value $content
Write-Host "✓ Updated to $newTargetFramework" -ForegroundColor Green
}
catch {
Write-Host "✗ Error updating $($project.Name): $_" -ForegroundColor Red
}
}

Write-Host "`nTargetFramework update completed!" -ForegroundColor Green

2. Überprüfen nicht mehr unterstützte Paketen

dotnet list package --outdated

3. Aktualisieren der Pakete auf die neueste Version

dotnet package update

Update für alle Projekte in einem Verzeichnisbaum durchführen:

Datei: update-allpackages.ps1

# Get all .csproj files recursively
$projectFiles = Get-ChildItem -Path "." -Filter "*.csproj" -Recurse

Write-Host "Found $($projectFiles.Count) project(s)" -ForegroundColor Green

foreach ($project in $projectFiles) {
$projectDir = $project.DirectoryName
Write-Host "`nUpdating packages in: $projectDir" -ForegroundColor Yellow

# Change to project directory and run update
Push-Location $projectDir
try {
dotnet package update
}
catch {
Write-Host "Error updating $($project.Name): $_" -ForegroundColor Red
}
finally {
Pop-Location
}
}

Write-Host "`nPackage update completed!" -ForegroundColor Green

4. Prüfen, ob alles geupdatet ist

dotnet list package --outdated

5. Projekt bauen und testen

Projeckt bauen:

dotnet restore
dotnet build

Projekt testen:

dotnet test

6. Projekt ausführen

dotnet run

Kommentare