36

VS2012のMVCサイトにIISExpress8を使用しようとしています。サイトを作成しようとすると、次のエラーが発生します。

ファイル名:\?\ C:\ Users \ xxxxxx \ Documents \ IISExpress \ config \ applicationHost.config
エラー:構成ファイルを書き込めません

IIS Expressで構成フォルダーとログフォルダーに別の場所を使用するように強制する方法はありますか?コマンドラインからiisexpress.exeを実行しているときに別の場所を指すことができることは理解していますが、VisualStudioを使用している場合はこれを制御できません。

または、エラーが発生している理由について誰かが提案を持っていますか?(補足:私のラップトップは、「Documents」フォルダにいくつかの愚かな暗号化がある企業環境にありますが、この場所に保存する他のソフトウェアに問題はありません。「Everyone」グループもいっぱいにしましたフォルダへのアクセス。)

編集-http://learn.iis.net/page.aspx/1286/iis-80-express-readme/の指示に従った後でも、これを機能させることができないようです。私は次のことを試しました:

  • 代替ディレクトリを指すHKCU\Software \ Microsoft \ IISExpress\CustomUserHomeレジストリキーを追加しました
  • 代替ディレクトリを指すHKCU\Software \ Microsoft \ IISExpress \ 8.0\CustomUserHomeレジストリキーを追加しました
  • 代替ディレクトリを指すHKLM\Software \ Microsoft \ IISExpress\CustomUserHomeレジストリキーを追加しました
  • 代替ディレクトリを指すHKLM\Software \ Microsoft \ IISExpress \ 8.0\CustomUserHomeレジストリキーを追加しました
  • 代替ディレクトリを指す%IIS_USER_HOME%環境変数を設定します。

他に何か提案はありますか?

4

12 に答える 12

57

@ブラッド

私は今あなたと同じ問題を抱えていました。IISExpressフォルダーの暗号化と「読み取り専用」属性を削除すると解決しました。私の会社では Documents も暗号化されていますが、IISExpress からその暗号化を削除しても問題になるとは思いません。

お役に立てれば。

于 2012-07-13T18:32:40.527 に答える
10

まったく別の問題が原因で、非常によく似たエラー メッセージが表示されました。

エラー:

C:\VS\TFS_Projects\SomeSolution\SomeProject\SomeProject.csproj : エラー:仮想ディレクトリhttp://localhost:55063/の作成が次のエラーで失敗しました: ファイル名: \\?\C:\VS\TFS_Projects\SomeSolution. vs\config\applicationhost.config エラー:権限が不十分なため、構成ファイルを書き込めません

詳細: プロジェクトを開くことさえできませんでした。

以前の変更セットを取得でき、実際には問題なく開くことができましたが、最新の変更セットを取得すると、プロジェクトを開くことができませんでした。

解決策:私の場合、TFS サーバーを変更したときに、誰かが " .vs " フォルダーを他のすべてのものと共にソース管理に 追加したことが判明しました。ある開発者は、D:\ ドライブでサイトを実行するようにapplicationhost.configをセットアップしていましたが、私にはそのような D:\ ドライブはありませんでした (まあ、それは DVD ドライブでした)。変更されていないapplicationhost.configを使用し、ローカルファイルを置き換える以前の変更セット。(実際にフォルダを削除しようとすることもできましたが、そのルートには行きませんでした。)

その後、ソース管理から「.vs」フォルダーを削除しました。

(Googleが私を着陸させた場所であるため、この解決策をここに置きます。したがって、このエラーメッセージを表示している他の人は、上記の解決策では解決しないことに気付く可能性があり、したがって、この問題が発生している可能性があります。)

于 2016-08-05T19:13:49.643 に答える
5

また、ユーザーフォルダーで暗号化を使用している企業環境にあり、暗号化を削除し、IISExpressフォルダー内のすべての読み取り専用フラグを削除するとうまくいきました。

于 2012-08-18T17:40:29.360 に答える
2

これに苦労し、暗号化と読み取り専用属性を確認し、それらが機能しないようにした後、私の解決策は次のようになりました。

  • IISExpress フォルダーを含むフォルダーに移動します (私の場合、Documents フォルダーではなく OneDrive にありました)。
  • フォルダーを右クリックIISExpress> [セキュリティ] タブ > [詳細設定] ボタン
  • すでに所有者であっても、所有者を自分に変更します
  • 「サブコンテナとオブジェクトの所有者を置き換える」ボックスにチェックを入れます
    • これは、[所有者の変更] ダイアログが完了するまで表示されない場合があります
  • IISExpressフォルダを開く
  • フォルダーを右クリックconfig> [セキュリティ] タブ > [詳細設定] ボタン
  • ユーザーの追加 > プリンシパルの追加
  • 場所を (ドメインではなく) ローカル マシンに変更します
  • 名前を入力してNETWORK SERVICE「名前の確認」
  • [OK] を押して [高度なセキュリティ] ダイアログに戻ります
  • 「すべての子オブジェクトのアクセス許可エントリを、このオブジェクトから継承可能なアクセス許可エントリに置き換える」に必ずチェックを入れてください。

VS 2013 と VS 2017 の両方で、Windows 10 と IISExpress 10 で動作しました。

于 2018-09-05T19:33:52.490 に答える
1

C:\Users\xxxxxx\Documents\IISExpress\config\applicationHost.config

ファイルから読み取り専用属性のチェックを外します。それは私のために働いた。

于 2015-05-20T10:30:52.510 に答える
0

VisualStudioを管理者として実行する(管理者として実行)ことで問題が解決しました。

于 2014-07-14T21:07:22.387 に答える
0

レジストリ エントリの追加は機能しているように見えましたが、レジストリ エントリで環境変数を使用しても機能しませんでした。私の環境では、ドキュメント ディレクトリのみがリダイレクトされるため、IIS Express 構成ディレクトリを 1 レベル上の %USERPROFILE% ディレクトリに移動したかっただけです。しかし、それはうまくいきませんでした。IIS Express は環境変数を文字どおりに読み取り、もちろん実行に失敗しました。

于 2012-07-23T15:17:34.360 に答える
0

同じエラーを受け取りましたが、コンテキストが異なります。別の開発者によって提供されたプロジェクト (.csproj ファイル) を開くと、次のエラーが返され、何もできませんでした:

仮想ディレクトリhttp://localhost:58753/
の作成が 次のエラーで失敗しました: ファイル名: \?\C:\Users\xxxxx\Documents\Clients\xxx\Gen II\xxx\,vs\config\applicationhost.config エラー: 構成ファイルを書き込めません

プロジェクト ファイルを含むディレクトリから暗号化と R/O 属性の両方を削除し、すべてのサブフォルダーとファイルに適用しました。Visual Studio がプロジェクトを読み取れるようになりました。

于 2015-10-18T02:45:34.237 に答える
0

私も問題を抱えていたので、HKCU\Software\Microsoft にレジストリ キーを設定して修正しようとしましたが、うまくいきませんでした。

私が犯したエラーは、通常のアカウント (Visual Studio の実行に使用) でレジストリを編集する権限がないため、HKCU を使用していたため、管理者アカウントを使用していたためです。もちろん、HKCUはそのアカウント用でした。

そのため、代わりに HKEY_USERS\"my normal user's SID" を使用し、iisexpress.exe を手動で起動すると、指定された場所にファイルが作成されました。それでもうまくいかなかったのは、ビジュアルスタジオの iisexpress を使用することでした。VSはレジストリ設定をまったく使用していないように見えました。

最後に、HKU\"my normal user's SID"\Software\Microsoft\Windows\CurrentVersion\Explorer\ の Shell Folders\Personal および User Shell Folders\Personal に非 UNC パスを設定することにしました。

于 2015-05-18T09:29:10.073 に答える