web-dev-qa-db-ja.com

Web展開タスクが失敗しました(このアクセス制御リストは正規の形式ではないため、変更できません)

ASP.NET MVC 4アプリケーションをIIS 8に公開すると、次のエラーが発生します。

このアクセス制御リストは標準形式ではないため、変更できません。

私はWindows 10で、VS 2013 Ultimateを使用しています。
ウェブプラットフォームインストーラー5からウェブデプロイ3.5をインストールし、サービスが機能していることを確認しました

enter image description here

33
Hakan Fıstık

ソリューション1

次の方法でこの問題を解決できました

  1. IISに移動します
  2. 公開するWebサイトを右クリックして、権限の編集を選択します
  3. セキュリティタブをクリックします。
  4. Editボタンをクリックします
  5. 許可が正しく注文されなかったことを伝えるメッセージボックスが表示されます。
  6. そのメッセージボックスでReorderをクリックします。

enter image description here

ソリューション2

コマンドプロンプト(CMD)を開き、次の2つのステートメントを実行します

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

注:たぶん管理者権限でCMDを開きたいでしょう(たぶんわからない)

乾杯

72
Hakan Fıstık

次のコマンドを実行して修正できます

コマンドプロンプト

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
Ben Anderson

Visual Studioパッケージ生成パラメーターを変更することでpreventこの問題を解決できます。pubxmlファイルのPropertyGroupセクションで、

<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
0
Bill Reinke