wake-up-neo.net

Webbereitstellungstask fehlgeschlagen (Diese Zugriffssteuerungsliste ist nicht in kanonischer Form und kann daher nicht geändert werden.)

Das Veröffentlichen der ASP.NET MVC 4-Anwendung in IIS 8 auf meinem Computer führt zu folgendem Fehler:

Diese Zugriffssteuerungsliste ist nicht in kanonischer Form und kann daher nicht geändert werden.

Ich bin unter Windows 10 und verwende VS 2013 Ultimate.
Ich habe Web Deploy 3.5 von Web Platform Installer 5 installiert und sichergestellt, dass die Dienste funktionieren 

 enter image description here

33
Hakam Fostok

Lösung 1

Ich konnte dieses Problem auf folgende Weise lösen

  1. Gehen Sie zu IIS
  2. Klicken Sie mit der rechten Maustaste auf die Website, auf der Sie veröffentlichen, und wählen Sie Edit Permissions aus.
  3. Klicken Sie auf die Registerkarte Security.
  4. Klicken Sie auf die Schaltfläche Edit
  5. In einem Meldungsfeld wird angezeigt, dass die Berechtigung nicht richtig angeordnet wurde.
  6. Klicken Sie in diesem Meldungsfeld auf Reorder.

 enter image description here

Lösung 2

Öffnen Sie die Eingabeaufforderung (CMD) und führen Sie die folgenden zwei Anweisungen aus

icacls.exe C:\inetpub\wwwroot /verify /T /C /L /Q
icacls.exe C:\inetpub\wwwroot /reset /T /C /L /Q

hinweis: Vielleicht Sie möchten das CMD mit Administratorrechten öffnen. (Vielleicht bin ich nicht sicher)

Prost

72
Hakam Fostok

Sie können den folgenden Befehl ausführen, um das Problem zu beheben 

Eingabeaufforderung

icacls.exe C:\inetpub\wwwroot\<VIRTUAL DIRECTORY> /verify /T /C /L /Q
// If any entries are reported as being not in canonical order then run:
icacls.exe C:\inetpub\wwwroot\<VIRTUAL DIRECTORY> /reset /T /C /L /Q

Quelle

Power Shell

$path = C:\inetpub\wwwroot\<VIRTUAL DIRECTORY>
$acl = Get-Acl $path
Set-Acl $path $acl

Quelle

2
Ben Anderson

Sie können dieses Problem verhindern, indem Sie die Parameter für die Erstellung des Visual Studio-Pakets ändern

<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
0
Bill Reinke