1. ホーム
  2. asp.net

[解決済み] VS 2012でIISを使用するプロジェクトがカスタムバインディングホストで読み込めない - IIS Expressを使用していると思われる

2023-06-01 14:40:43

質問

私は IIS を使用する ASP.NET プロジェクトを持っています。IIS サイトは、カスタム バインディング ホスト名を使用するように構成されています。プロジェクトファイルには、次の設定が含まれています。

...
<UseIISExpress>false</UseIISExpress>
...
<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
        <UseIIS>True</UseIIS>
        <AutoAssignPort>False</AutoAssignPort>
        <DevelopmentServerPort>8662</DevelopmentServerPort>
        <DevelopmentServerVPath>/</DevelopmentServerVPath>
        <IISUrl>http://custom.host.name/</IISUrl>
        <NTLMAuthentication>False</NTLMAuthentication>
        <UseCustomServer>False</UseCustomServer>
        <CustomServerUrl></CustomServerUrl>
        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
      </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>
...

このようにプロジェクトが構成されている場合、サイトへのアクセスは http://custom.host.name/ からアクセスでき、デバッグ時にVSが自動的にIISワーカープロセスにアタッチされます。

プロジェクトを再ロードすると (ソリューションを閉じる/開く、またはプロジェクトのコンテキスト メニューでアンロード/再ロードのいずれかによって)、予期しないことが起こります。プロジェクトのロードに失敗します。 (load failed) がソリューション エクスプローラーのプロジェクト名の右側に表示され、メッセージ ボックスに次のメッセージが表示されます (これは出力ウィンドウにも表示されます)。

The URL 'http://custom.host.name/' for Web project 'Some.Asp.Net.Project' 
is configured to use IIS Express as the web server but the URL is currently
configured on the local IIS web server. To open this project, you must use
IIS Manager to remove the bindings using this URL from the local IIS web server.

IIS Expressからプロジェクトサイトの設定を削除してみました。 applicationhost.config ファイルからプロジェクトサイトの設定を削除してみましたが、役に立ちませんでした。

デフォルトサイトの IIS アプリケーションにプロジェクトをマッピングすると、この問題は発生しません。

VSのバージョンはUltimate 2012 Update 3です。

どのように解決するのですか?

管理者として開いても、問題は解決されませんでした。私の場合、解決したのは の両方です。 その .csproj.csproj.user ファイルを作成し、両方が UseIISExpress に設定されていることを確認します。 false .

私の場合 .csproj.user ファイルをオーバーライドして .csproj ファイルを上書きしていました。 SaveServerSettingsInUserFile がマークされていたのに false .

<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <UseIISExpress>false</UseIISExpress> 
    <!-- ... -->
</Project>