web-dev-qa-db-ja.com

IIS Express 8-構成ファイルを書き込めません

VS2012のMVCサイトにIIS Express 8を使用しようとしています。サイトを作成しようとすると、次のエラーが表示されます。

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

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

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

EDIT- 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%環境変数を設定します。

他の提案はありますか?

32
Brad Leach

@ブラッド

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

お役に立てれば。

54
Alejandro Nagy

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

エラー:

C:\ VS\TFS_Projects\SomeSolution\SomeProject\SomeProject.csproj:エラー:仮想ディレクトリの作成 http:// localhost:55063 / failedエラー:ファイル名:\\?\ C:\ VS\TFS_Projects\SomeSolution.vs\config\applicationhost.configエラー:不十分なため設定ファイルを書き込めません許可

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

以前の変更セットを取得でき、実際に正常に開くことができましたが、最新のものを取得した場合、プロジェクトを開くことができませんでした。

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

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

(Googleが私を上陸させた場所なので、このソリューションをここに置きました。したがって、このエラーメッセージを持っている他の人は、上記のソリューションがそれらを修正しないことがあり、したがって、彼らはこの問題を抱えている可能性があります)

9
Greg

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

5
Sam

私はWindows 10でVisual Studio 2017を使用していますが、この問題を解決するには、OneDriveの設定「使用するスペースを節約してファイルをダウンロードする」を無効にする必要がありました。設定を変更した後、コンピューターがクラッシュしましたが、再起動後にSSL有効を変更でき、すべてが機能しました。

3
pwhe23

これをグーグルで探している人のために。これはこれと同じ問題かもしれません: http://connect.Microsoft.com/VisualStudio/feedback/details/878812/use-iis-express-is-broken-in-vs-2012-on-windows -8-1

Prcocess Monitor をダウンロードして確認し、 "\ Documents\IISExpress\config"を含む "パス"のフィルターで実行してから、IIS Express。最後のエントリの1つとして結果0xC0190052を持つCreateFileエントリがある場合、これは同じ問題です。

2
poizan42

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

ファイルの読み取り専用属性をオフにします。それは私のために働いた。

1
HuckFin.7b

以前にも同じ問題がありましたが、Visual Studioを管理者として実行(管理者として実行)すると問題が解決しました。

0
Kannan

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

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

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

0
mnemotronic

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

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

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

最後に、HKU\"私の通常のユーザーのSID"\Software\Microsoft\Windows\CurrentVersion\Explorer \にShell Folders\PersonalおよびUser Shell Folders\Personalの非UNCパスを設定することに頼りました。

0
Christian

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

0
sresnik

私の場合、フォルダを別の場所に移動したため、applicationhost.configファイルを編集し、virtualdirectoryエントリを新しい場所に変更する必要がありました。暗号化を解除し、読み取り専用をオフに設定しても解決しませんでした。移動するのではなく、コピーしただけで、うまく機能し続けていただろうと思います。

0
LordWabbit

これに苦労し、暗号化属性と読み取り専用属性を検証し、それらが機能しないようにした後、私のソリューションは次のようになりました:

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

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

0
Web Head