WebSurfer's Home

トップ > Blog 1   |   ログイン
APMLフィルター

ApplicationHost.config の場所

by WebSurfer 2017年4月23日 13:47

Visual Studio で ASP.NET Web アプリを開発するときに利用できる IIS Express 用の ApplicationHost.config ファイルはどこにあるかという話を書きます。

(注:Windows 10 64-bit に Visual Studio 2015 Community Update 3 をインストールするときに一緒にインストールされた IIS 10.0 Express の話です)

ちなみに、IIS 用の ApplicationHost.config ファイルは、TexhNet の記事「ApplicationHost.configの紹介」に書いてある通り、system32¥inetsrv¥config フォルダにあります。

IIS Express は IIS 用の ApplicationHost.config ファイルを共有しません。別の場所に別の ApplicationHost.config ファイルが存在し、それを使用します。

自分の PC には Visual Studio 2010 Professional SP1, Visual Studio Community 2015 Update 3, Visual Studio Community 2019 がインストールされています。そのテンプレートを使ってデフォルト設定で Web アプリ作成した場合、Visual Studio から[デバッグの開始(S)]または[デバッグなしで開始(H)]で Web アプリを起動し、IIS Express 上で実行する場合、使用される ApplicationHost.config ファイルは以下の通りとなります。

(注:他のバージョンの Visual Studio, IIS Express の場合は不明です。また、以下はデフォルトの場合で、設定によっては変更できるかもしれません・・・が、未確認です)

(1) VS2010

OneDrive の Documents\IISExpress\config フォルダ内の ApplicationHost.config ファイル。(OneDrive を使わない場合は C:\Users\ユーザー名\Documents\IISExpress\config フォルダ)

ApplicationHost.config

(2) VS2015

各ソリューションのフォルダ内の ApplicationHost.config ファイル。下の画像の例を見てください。Mvc5App がソリューションのフォルダで、各ソリューションごとに別のファイルが使用されます。

ApplicationHost.config

MSDN Blog の記事「IIS Expressの仮想ディレクトリを applicationhost.config から削除する方法」によると、上記 (1) の Documents フォルダ下の ApplicationHost.config ファイルが、全 Web アプリで共用されるようなことが書かれていますが、これは少なくとも自分の PC にインストールしてある VS2015 には当てはまらないようです。

実は、そのことを知らなくて、上記 (1) の ApplicationHost.config ファイルの設定をどのように変えても、VS2015 から IIS Express で起動する Web アプリに設定変更が反映されないのに、2 時間ほど悩んだのは内緒です。(笑)

(3) VS2019

VS2015 とは少々場所が違うので注意してください。下の画像の例を見てください。一番上の WebApplication1 がソリューションのフォルダです。(注: プロジェクトを作成する際[ソリューションとプロジェクトを同じディレクトリに配置する(D)]にチェックを入れるとフォルダの構成が下の例とは変わってきます)

VS2019 の ApplicationHost.config

アプリケーションが使う ApplicationHost.config ファイルが格納されているフォルダは、VS2015 と違って .vs フォルダ直下の config フォルダではなく、.vs\WebApplication1\config フォルダになります。

ASP.NET Core 3.1 アプリでも Visual Studio Community 2019 から実行した場合は IIS Express を使ってインプロセスホスティングモデルで動きますので ApplicationHost.config ファイルを使用しています。場所は .NET Framework 版のアプリと同じです。

インプロセスホスティングモデルの詳細については、別の記事「ASP.NET Core アプリの Web サーバー」を見てください。

Tags:

DevelopmentTools

About this blog

2010年5月にこのブログを立ち上げました。主に ASP.NET Web アプリ関係の記事です。

Calendar

<<  2017年4月  >>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

View posts in large calendar