C# Web部署任务失败(此访问控制列表不是规范格式,因此无法修改)
将ASP.NET MVC 4应用程序发布到我的计算机上的IIS 8时出现以下错误: 此访问控制列表不是规范格式,因此无法修改 我在Windows 10下使用VS 2013 Ultimate。C# Web部署任务失败(此访问控制列表不是规范格式,因此无法修改),c#,asp.net-mvc-4,iis,publish,C#,Asp.net Mvc 4,Iis,Publish,将ASP.NET MVC 4应用程序发布到我的计算机上的IIS 8时出现以下错误: 此访问控制列表不是规范格式,因此无法修改 我在Windows 10下使用VS 2013 Ultimate。 我从web平台安装程序5安装了WebDeploy3.5,并确保服务正常工作 解决方案1 我可以用下面的方法解决这个问题 转到IIS 右键单击要发布到的网站,然后选择编辑权限 单击安全性选项卡 单击编辑按钮 将出现一个消息框,说明权限排序不正确 在该消息框上单击重新排序 解决方案2 打开命令提示符(CMD)
我从web平台安装程序5安装了WebDeploy3.5,并确保服务正常工作
解决方案1 我可以用下面的方法解决这个问题
icacls.exe C:\inetpub\wwwroot /verify /T /C /L /Q
icacls.exe C:\inetpub\wwwroot /reset /T /C /L /Q
注意:可能您希望以管理员权限打开CMD(可能我不确定)
Cheers您可以运行以下命令来修复它 命令提示
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
icacls.exe C:\inetpub\wwwroot\/verify/T/C/L/Q
//如果有任何条目被报告为不符合规范顺序,则运行:
icacls.exe C:\inetpub\wwwroot\/reset/T/C/L/Q
powershell
$path = C:\inetpub\wwwroot\<VIRTUAL DIRECTORY>
$acl = Get-Acl $path
Set-Acl $path $acl
$path=C:\inetpub\wwwroot\
$acl=获取acl$path
设置Acl$path$Acl
您可以通过修改Visual Studio包生成参数来防止此问题:在pubxml文件的PropertyGroup部分,添加
<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
False
好吧,这很管用,但为什么管用呢?错误是什么意思?在最新版本中,单击“高级”按钮后,“重新排序”选项可用。