.NET MAUI: UnauthorizedAccessException beim Build beheben

Aus maxTechCorner

Auf einen Blick

Gilt für.NET MAUI 9/10 mit Visual Studio 2026 und Pair to Mac bzw. .NET CLI auf macOS
BereichSoftwareentwicklung
Dauer5–10 Minuten
RechteEntwicklungsumgebung, Benutzerrechte im Projektordner
StandOktober 2026

Eine UnauthorizedAccessException beim Build („Access to the path … is denied“) bricht den Build einer .NET-MAUI-App ab, weil eine Datei in den Ausgabeordnern gesperrt ist oder die Rechte nicht stimmen. Meist hilft es, die Ordner bin und obj zu löschen – bei iOS-Builds über Pair to Mac auch den Build-Cache auf dem Mac.

UnauthorizedAccessException beim Build einer .NET-MAUI-App: typische Ursachen und die passende Lösung.

Problem

  • Der Build bricht ab mit System.UnauthorizedAccessException: Access to the path '…\bin\…' is denied oder MSB3027/MSB3021 („Datei konnte nicht kopiert werden“).
  • Betroffen sind oft iOS- oder Mac-Catalyst-Builds, bei denen ein altes App-Bundle (.app) im Ausgabeordner liegt.

Ursache

  • Die App läuft noch (Emulator, Simulator, Windows-App) und sperrt ihre Dateien.
  • Virenscanner, OneDrive oder andere Synchronisationsdienste greifen auf bin/obj zu.
  • Dateien wurden mit anderen Rechten erzeugt (z. B. ein früherer Build mit sudo auf dem Mac).
  • Ein beschädigtes App-Bundle im Ausgabeordner lässt sich nicht überschreiben.

Lösung

Schritt 1: App beenden und Ausgabeordner löschen

Laufende Debug-Sitzung und die App im Emulator/Simulator beenden, Visual Studio schließen und im Projektordner löschen:

# Windows (PowerShell, im Projektordner)
Remove-Item -Recurse -Force .\bin, .\obj
# macOS
rm -rf bin obj

Danach neu bauen (dotnet build bzw. Projektmappe neu erstellen).

Schritt 2: Build-Cache auf dem Mac leeren (Pair to Mac)

Visual Studio legt iOS-Builds auf dem gekoppelten Mac in einem eigenen Cache ab. Ist dort ein Bundle gesperrt, den Cache löschen:

rm -rf ~/Library/Caches/Xamarin/mtbs/builds/*

Der Ordnername enthält aus historischen Gründen noch „Xamarin“. Anschließend in Visual Studio die Verbindung zum Mac neu herstellen.

Schritt 3: Rechte reparieren

Wurde auf dem Mac einmal mit sudo gebaut, gehören Dateien dem Benutzer root. Besitz zurücksetzen:

sudo chown -R "$(whoami)" ~/Projekte/MeineApp ~/.nuget ~/Library/Caches/Xamarin

Schritt 4: Synchronisation und Virenscanner ausnehmen

  • Projekte nicht in OneDrive-, Dropbox- oder iCloud-Ordnern ablegen.
  • Für den Quellcode-Ordner (z. B. C:\Dev) unter Windows ein Dev Drive nutzen oder den Ordner im Virenschutz als Ausnahme eintragen – nach Rücksprache mit der IT-Sicherheit.

Hinweise

  • Lange Pfade: Unter Windows führen sehr lange Projektpfade zu ähnlichen Fehlern. Projekte möglichst kurz ablegen, z. B. C:\Dev\MeineApp.
  • Workload-Wechsel: Nach einem Update der MAUI-Workloads immer bin und obj löschen, damit keine Reste der alten Version stören.
  • Bei Build-Problemen und CI/CD für Apps unterstützt Sie die individuelle Softwareentwicklung von m.a.x. it.

Siehe auch

Links und Quellen


Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung? Kontakt aufnehmen