Сбой задачи веб-развертывания (этот список контроля доступа не имеет канонической формы и поэтому не может быть изменен)
Публикация приложения ASP.NET MVC 4 в IIS 8 на моем компьютере приводит к следующей ошибке:
Этот список контроля доступа не имеет канонической формы и поэтому не может быть изменен.
Я под Windows 10 и использую VS 2013 Ultimate.
Я установил web deploy 3.5 из установщика веб-платформы 5 и убедился, что службы работают
![enter image description here]()
Ответы
Ответ 1
Решение 1
Я смог решить эту проблему следующим образом
- Перейти в IIS
- Щелкните правой кнопкой мыши веб-сайт, на котором вы публикуете, и выберите " Редактировать разрешения".
- Перейдите на вкладку " Безопасность ".
- Нажмите на кнопку Изменить
- Появится окно с сообщением о том, что разрешение не было правильно упорядочено.
- Нажмите Изменить порядок в этом окне сообщения.
![enter image description here]()
Решение 2
Откройте командную строку (CMD) и выполните следующие два оператора
icacls.exe C:\inetpub\wwwroot /verify /T /C /L /Q
icacls.exe C:\inetpub\wwwroot /reset /T /C /L /Q
примечание: может быть, вы захотите открыть CMD с правами администратора (может быть, я не уверен)
ура
Ответ 2
Вы можете запустить следующую команду, чтобы исправить это
командная строка
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
Источник
PowerShell
$path = C:\inetpub\wwwroot\<VIRTUAL DIRECTORY>
$acl = Get-Acl $path
Set-Acl $path $acl
Источник
Ответ 3
Вы можете предотвратить эту проблему, изменив параметры генерации пакета Visual Studio: В разделе PropertyGroup вашего файла pubxml добавьте
<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
Ответ 4
У меня была такая же проблема. Ниже настройка работала для меня
<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>