次のサイトが与えられた場合、IISExpress7.5のapplicationHost.config内で構成されます
<site name="MySite" id="1">
<application path="/" applicationPool="Clr2IntegratedAppPool">
<virtualDirectory path="/" physicalPath="path\to\the\site" />
<virtualDirectory path="/VDir1" physicalPath="path\to\the\site" />
<virtualDirectory path="/VDir2" physicalPath="path\to\the\site" />
<virtualDirectory path="/VDir3" physicalPath="path\to\the\site" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:12345:localhost" />
</bindings>
</site>
このソリューションを開くとき、VS2012を使用してソース管理エクスプローラー(TFS2010)から-ソリューションを開くと、XML構造が変更され、各virtualDirectoryノードが独自のアプリケーションノード(VS2012が作成する)内に存在するようになります。
これはレガシー.NET2.0アプリケーションであるため、その知恵では、上記の仮想ディレクトリ全体でコントロールやファイルなどを参照します。構成ファイルで独自のアプリケーションが指定されるとすぐに、/
to/VDir1
または/VDir1
toへの呼び出しが行われます/VDir3
(たとえば、 )エラーで失敗する"The virtual path X maps to another application, which is not allowed"
私はそのエラーとその有効性に問題はありませんが、VS2012が私の設定ファイルに干渉するのを防ぐ方法を誰かが知っています。
他のいくつかのポイント
- applicationHost.configはソース制御されます(簡単)
- 問題のソリューションは、プロジェクトプロパティ内で設定されたホスト名、ポートなどの構成設定で「IISExpressを使用する」に設定されています。