<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_UnauthorizedAccessException_beim_Build_beheben</id>
	<title>.NET MAUI: UnauthorizedAccessException beim Build beheben - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_UnauthorizedAccessException_beim_Build_beheben"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_UnauthorizedAccessException_beim_Build_beheben&amp;action=history"/>
	<updated>2026-10-17T10:51:43Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=.NET_MAUI:_UnauthorizedAccessException_beim_Build_beheben&amp;diff=4315&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Neufassung von &quot;Xamarin: System.UnAuthorizedAccessException&quot;: bin/obj, Pair-to-Mac-Cache, Rechte</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_UnauthorizedAccessException_beim_Build_beheben&amp;diff=4315&amp;oldid=prev"/>
		<updated>2026-10-14T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Neufassung von &amp;quot;Xamarin: System.UnAuthorizedAccessException&amp;quot;: bin/obj, Pair-to-Mac-Cache, Rechte&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Steckbrief&lt;br /&gt;
| gilt_fuer   = .NET MAUI 9/10 mit Visual Studio 2026 und Pair to Mac bzw. .NET CLI auf macOS&lt;br /&gt;
| bereich     = Softwareentwicklung&lt;br /&gt;
| dauer       = 5–10 Minuten&lt;br /&gt;
| rechte      = Entwicklungsumgebung, Benutzerrechte im Projektordner&lt;br /&gt;
| stand       = Oktober 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eine UnauthorizedAccessException beim Build&amp;#039;&amp;#039;&amp;#039; („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 &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt; zu löschen – bei iOS-Builds über Pair to Mac auch den Build-Cache auf dem Mac.&lt;br /&gt;
&lt;br /&gt;
[[Datei:NET-MAUI-UnauthorizedAccessException.png|thumb|center|750px|UnauthorizedAccessException beim Build einer .NET-MAUI-App: typische Ursachen und die passende Lösung.]]&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
* Der Build bricht ab mit &amp;lt;code&amp;gt;System.UnauthorizedAccessException: Access to the path &amp;#039;…\bin\…&amp;#039; is denied&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;MSB3027&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;MSB3021&amp;lt;/code&amp;gt; („Datei konnte nicht kopiert werden“).&lt;br /&gt;
* Betroffen sind oft iOS- oder Mac-Catalyst-Builds, bei denen ein altes App-Bundle (&amp;lt;code&amp;gt;.app&amp;lt;/code&amp;gt;) im Ausgabeordner liegt.&lt;br /&gt;
&lt;br /&gt;
== Ursache ==&lt;br /&gt;
* Die App läuft noch (Emulator, Simulator, Windows-App) und sperrt ihre Dateien.&lt;br /&gt;
* Virenscanner, OneDrive oder andere Synchronisationsdienste greifen auf &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt; zu.&lt;br /&gt;
* Dateien wurden mit anderen Rechten erzeugt (z. B. ein früherer Build mit &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; auf dem Mac).&lt;br /&gt;
* Ein beschädigtes App-Bundle im Ausgabeordner lässt sich nicht überschreiben.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
=== Schritt 1: App beenden und Ausgabeordner löschen ===&lt;br /&gt;
Laufende Debug-Sitzung und die App im Emulator/Simulator beenden, Visual Studio schließen und im Projektordner löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
# Windows (PowerShell, im Projektordner)&lt;br /&gt;
Remove-Item -Recurse -Force .\bin, .\obj&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# macOS&lt;br /&gt;
rm -rf bin obj&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Danach neu bauen (&amp;lt;code&amp;gt;dotnet build&amp;lt;/code&amp;gt; bzw. &amp;#039;&amp;#039;Projektmappe neu erstellen&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
=== Schritt 2: Build-Cache auf dem Mac leeren (Pair to Mac) ===&lt;br /&gt;
Visual Studio legt iOS-Builds auf dem gekoppelten Mac in einem eigenen Cache ab. Ist dort ein Bundle gesperrt, den Cache löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -rf ~/Library/Caches/Xamarin/mtbs/builds/*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Der Ordnername enthält aus historischen Gründen noch „Xamarin“. Anschließend in Visual Studio die Verbindung zum Mac neu herstellen.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 3: Rechte reparieren ===&lt;br /&gt;
Wurde auf dem Mac einmal mit &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; gebaut, gehören Dateien dem Benutzer &amp;#039;&amp;#039;root&amp;#039;&amp;#039;. Besitz zurücksetzen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chown -R &amp;quot;$(whoami)&amp;quot; ~/Projekte/MeineApp ~/.nuget ~/Library/Caches/Xamarin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Schritt 4: Synchronisation und Virenscanner ausnehmen ===&lt;br /&gt;
* Projekte nicht in OneDrive-, Dropbox- oder iCloud-Ordnern ablegen.&lt;br /&gt;
* Für den Quellcode-Ordner (z. B. &amp;lt;code&amp;gt;C:\Dev&amp;lt;/code&amp;gt;) unter Windows ein &amp;#039;&amp;#039;&amp;#039;Dev Drive&amp;#039;&amp;#039;&amp;#039; nutzen oder den Ordner im Virenschutz als Ausnahme eintragen – nach Rücksprache mit der IT-Sicherheit.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lange Pfade:&amp;#039;&amp;#039;&amp;#039; Unter Windows führen sehr lange Projektpfade zu ähnlichen Fehlern. Projekte möglichst kurz ablegen, z. B. &amp;lt;code&amp;gt;C:\Dev\MeineApp&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workload-Wechsel:&amp;#039;&amp;#039;&amp;#039; Nach einem Update der MAUI-Workloads immer &amp;lt;code&amp;gt;bin&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt; löschen, damit keine Reste der alten Version stören.&lt;br /&gt;
* Bei Build-Problemen und CI/CD für Apps unterstützt Sie die [https://www.max-it.de/development/individuelle-softwareentwicklung/ individuelle Softwareentwicklung von m.a.x. it].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[.NET MAUI: Workload-Version und Xcode festlegen]]&lt;br /&gt;
* [[.NET MAUI: Entwicklungsumgebung einrichten]]&lt;br /&gt;
&lt;br /&gt;
== Links und Quellen ==&lt;br /&gt;
* [https://learn.microsoft.com/de-de/dotnet/maui/troubleshooting Microsoft Learn: Problembehandlung bei .NET MAUI]&lt;br /&gt;
* [https://www.max-it.de/development/individuelle-softwareentwicklung/ Individuelle Softwareentwicklung und App-Entwicklung von m.a.x. it]&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Softwareentwicklung]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>