web-dev-qa-db-ja.com

VS 2012は、カスタムバインディングホストでIISを使用するプロジェクトをロードできません-IIS Expressを使用していると思われます

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です。

83
Igor Antonov

管理者として開いても問題は解決しませんでした。私にとってそれを修正したのは、both.csprojおよび.csproj.userファイルを開き、両方でUseIISExpressfalseに設定することでした。

私の場合、SaveServerSettingsInUserFilefalseとマークされていても、.csproj.userファイルは.csprojファイルをオーバーライドしていました。

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

解決策は、*.csproj.userファイルを削除することです!

47
Cyrus

SaveServerSettingsInUserFile」をTrueに設定しましたが、うまくいきました。

<ProjectExtensions>
<VisualStudio>
  <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
    <WebProjectProperties>
      <UseIIS>True</UseIIS>
      <AutoAssignPort>True</AutoAssignPort>
      <DevelopmentServerPort>50584</DevelopmentServerPort>
      <DevelopmentServerVPath>/</DevelopmentServerVPath>
      <IISUrl>http://localhost:50584/</IISUrl>
      <NTLMAuthentication>False</NTLMAuthentication>
      <UseCustomServer>False</UseCustomServer>
      <CustomServerUrl>
      </CustomServerUrl>
      <SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
    </WebProjectProperties>
  </FlavorProperties>
</VisualStudio>

ソース: ここをクリック

21
Liakat

iISexpressの使用を有効にする場合、applicationHost.Config(%userprofile%\ iisexpress\configにあります)、「サーバー設定をすべてのユーザーに適用する(プロジェクトファイルに保存する)」オプションをチェックして、書き込まれた設定を回避する必要がありますyourProject.csproj.user project settings

これを行うことは、project.csprojファイルを編集して<WebProjectProperties> <UseIIS>True</UseIIS> <AutoAssignPort>True</AutoAssignPort> <DevelopmentServerPort>62242</DevelopmentServerPort> <DevelopmentServerVPath>/</DevelopmentServerVPath> <IISUrl>http://localhost:8100/Claims/</IISUrl> <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl> <IISAppRootUrl>http://localhost:8100/Claims/</IISAppRootUrl> <NTLMAuthentication>False</NTLMAuthentication> <UseCustomServer>False</UseCustomServer> <CustomServerUrl></CustomServerUrl> <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile> </WebProjectProperties>を書き込むことと同じです。IISExpressを有効にし、applicationHost.configファイルにプロジェクト設定に関連するエントリが含まれていない場合は、[作成仮想ディレクトリ」と完了!

お役に立てれば

4
zobidafly

私の場合、*。csproj.userファイルを削除するとうまくいきました

3
Haddis

私は同じ問題を抱えていました。私がしなければならなかったのは、管理者としてビジュアルスタジオを開くことだけでした。これで問題は解決しました。

visual Studio 2012を右クリックして、「管理者として実行」をクリックします。お役に立てれば

2
Gautam Beri

私にとっては、Windows 7 64ビットを使用したVisual Studio 2015 Previewの両方の組み合わせが機能しました。
1。 * .csproj.userファイルを削除し、
2。ソリューションファイルの<UseIISExpress>false</UseIISExpress>
ステップ2のステップ:Visual StudioでProject ==> Unload ===>ソリューションの編集を右クリックします。

2
Sunil Yadav

プロジェクトがソリューションの一部である場合は、ソリューションファイル(.sln)を開き、プロジェクトセクションを編集します。

ProjectSection(WebsiteProperties) = preProject
    UseIISExpress = "false"

それは私のために働いた。

1
Mr Nsubuga

IISを使用するように構成されたプロジェクトが、Webサイト(myproject.mycompany.local)を見つけることができなかったため、WebサイトがWebブラウザで正常にロードされたにもかかわらずロードできなかったときに、ここに着陸しました。

解決策は、IIS 7のサイトのバインディングのホスト名が「myproject.mycompany.local」に設定されていることを確認することでした。サイトのバインディングにアクセスするには:

  1. IIS 7で、左側のナビゲーションパネルでサイトを選択します。
  2. 右側の「アクション」パネルで、「バインディング...」をクリックします

あなたのサイトがウェブブラウザにもロードされない場合、おそらくあなたのホストファイルにそのエントリがないためです:

127.0.0.1    myproject.mycompany.local
1
Seth

これで十分です

プロジェクトファイルx.csprojでこの行をコメントします

<!--<UseIIS>True</UseIIS>-->

x.csproj:エラー:Webプロジェクト 'x'のURL ' http:// localhost/x 'は、WebサーバーとしてIIS Expressを使用するように構成されていますが、URLは現在、ローカルIIS Webサーバーで構成されています。このプロジェクトを開くには、IIS Managerを使用して、このURLを使用してローカルIIS Webサーバーからバインディングを削除する必要があります。

1
samar samar

この問題は、VS 2013の今日の1日を台無しにしました。上記のすべてを試しましたが、IISにWebサイトを作成し、.csprojファイル(特にIISUrl要素)にこのセクションを記入するまで、プロジェクトをロードできませんでした。

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>81</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost/SomeProject</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
0
Eric Farr

私は同じ問題を抱えていました。管理者として実行してもうまくいきませんでした。

プロジェクトの「.csproj」ファイルで<UseIIS>True</UseIIS>をfalseに設定すると、プロジェクトが一時的にロードされる可能性がありますが、ソリューションの再起動または終了後に値がTrueに戻りました。

@Cyrusの答え(私にとってはうまくいきました)を完成させて、よりきちんとした答えを出し、プロジェクトのcsproj.userファイルに焦点を絞り、問題の正確な原因を見つけました:<UseIISExpress>true</UseIISExpress>をfalseに設定し、プロジェクトをリロードしました。 csproj.userファイルを削除せずに正常に動作します。結果は次のようになります。

<Project ToolsVersion="4.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectView>ProjectFiles</ProjectView>
    <UseIISExpress>false</UseIISExpress>
    <IISExpressSSLPort />
    <IISExpressAnonymousAuthentication />
    <IISExpressWindowsAuthentication />
    <IISExpressUseClassicPipelineMode />
    <NameOfLastUsedPublishProfile>My Project's Name</NameOfLastUsedPublishProfile>
  </PropertyGroup>
0