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です。
管理者として開いても問題は解決しませんでした。私にとってそれを修正したのは、both.csproj
および.csproj.user
ファイルを開き、両方でUseIISExpress
をfalse
に設定することでした。
私の場合、SaveServerSettingsInUserFile
がfalse
とマークされていても、.csproj.user
ファイルは.csproj
ファイルをオーバーライドしていました。
<Project ToolsVersion="12.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>false</UseIISExpress>
<!-- ... -->
</Project>
解決策は、*.csproj.user
ファイルを削除することです!
「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>
ソース: ここをクリック
iISexpressの使用を有効にする場合、applicationHost.Config(%userprofile%\ iisexpress\configにあります)、「サーバー設定をすべてのユーザーに適用する(プロジェクトファイルに保存する)」オプションをチェックして、書き込まれた設定を回避する必要がありますyourProject.csproj.user
これを行うことは、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ファイルにプロジェクト設定に関連するエントリが含まれていない場合は、[作成仮想ディレクトリ」と完了!
お役に立てれば
私の場合、*。csproj.userファイルを削除するとうまくいきました
私は同じ問題を抱えていました。私がしなければならなかったのは、管理者としてビジュアルスタジオを開くことだけでした。これで問題は解決しました。
visual Studio 2012を右クリックして、「管理者として実行」をクリックします。お役に立てれば
私にとっては、Windows 7 64ビットを使用したVisual Studio 2015 Previewの両方の組み合わせが機能しました。
1。 * .csproj.userファイルを削除し、
2。ソリューションファイルの<UseIISExpress>false</UseIISExpress>
。
ステップ2のステップ:Visual StudioでProject ==> Unload ===>ソリューションの編集を右クリックします。
プロジェクトがソリューションの一部である場合は、ソリューションファイル(.sln)を開き、プロジェクトセクションを編集します。
ProjectSection(WebsiteProperties) = preProject
UseIISExpress = "false"
それは私のために働いた。
IISを使用するように構成されたプロジェクトが、Webサイト(myproject.mycompany.local)を見つけることができなかったため、WebサイトがWebブラウザで正常にロードされたにもかかわらずロードできなかったときに、ここに着陸しました。
解決策は、IIS 7のサイトのバインディングのホスト名が「myproject.mycompany.local」に設定されていることを確認することでした。サイトのバインディングにアクセスするには:
あなたのサイトがウェブブラウザにもロードされない場合、おそらくあなたのホストファイルにそのエントリがないためです:
127.0.0.1 myproject.mycompany.local
これで十分です
プロジェクトファイルx.csprojでこの行をコメントします
<!--<UseIIS>True</UseIIS>-->
x.csproj:エラー:Webプロジェクト 'x'のURL ' http:// localhost/x 'は、WebサーバーとしてIIS Expressを使用するように構成されていますが、URLは現在、ローカルIIS Webサーバーで構成されています。このプロジェクトを開くには、IIS Managerを使用して、このURLを使用してローカルIIS Webサーバーからバインディングを削除する必要があります。
この問題は、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>
私は同じ問題を抱えていました。管理者として実行してもうまくいきませんでした。
プロジェクトの「.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>