Web部署任务失败(此访问控制列表不是规范形式,因此无法修改)

问题描述 投票:33回答:3

将ASP.NET MVC 4应用程序发布到我的计算机上的IIS 8,发出以下错误:

此访问控制列表不是规范形式,因此无法修改。

我在Windows 10下使用VS 2013 Ultimate。 我从Web平台安装程序5安装了web deploy 3.5,并确保服务正常运行

enter image description here

c# asp.net-mvc-4 iis publish
3个回答
72
投票

解决方案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(也许我不确定)

干杯


3
投票

您可以运行以下命令来修复它

命令提示符

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

Source

电源外壳

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

Source


0
投票

您可以通过修改Visual Studio包生成参数来防止此问题:在pubxml文件的PropertyGroup部分中,添加

<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
© www.soinside.com 2019 - 2024. All rights reserved.