Подтвердить что ты не робот

Сбой задачи веб-развертывания (этот список контроля доступа не имеет канонической формы и поэтому не может быть изменен)

Публикация приложения ASP.NET MVC 4 в IIS 8 на моем компьютере приводит к следующей ошибке:

Этот список контроля доступа не имеет канонической формы и поэтому не может быть изменен.

Я под Windows 10 и использую VS 2013 Ultimate.
Я установил web deploy 3.5 из установщика веб-платформы 5 и убедился, что службы работают

enter image description here

4b9b3361

Ответ 1

Решение 1

Я смог решить эту проблему следующим образом

  1. Перейти в IIS
  2. Щелкните правой кнопкой мыши веб-сайт, на котором вы публикуете, и выберите " Редактировать разрешения".
  3. Перейдите на вкладку " Безопасность ".
  4. Нажмите на кнопку Изменить
  5. Появится окно с сообщением о том, что разрешение не было правильно упорядочено.
  6. Нажмите Изменить порядок в этом окне сообщения.

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>