Localhost以外のアドレスをリッスンするように構成されたプロジェクトでVisual StudioからIIS Expressを起動しようとすると、このエラーが表示されます。 Visual Studioが約30秒間フリーズしてから、「IIS Express Webサーバーを起動できません」というエラーが表示されます。
同様の質問に投稿されたすべてのソリューションを試してみましたが、すべてを正しく行ったと思います。私が取ったステップは次のとおりです。
次の予約をHTTP.SYSに追加します。
netsh http add urlacl url=http://+:36899/ user=Everyone
管理者としてVisual Studio 2012を実行します(技術的には、HTTP.SYSを手動で設定するので、技術的には必要ないと思います)。
Windowsファイアウォールを無効にします。
マイドキュメントフォルダのIISExpressフォルダを削除して、デフォルト設定を確認します。
Visual Studioがwebプロジェクトのapplicationhost.configにエントリを作成できるようにします。次に、構成ファイルを手動で編集して、localhost
を192.168.0.100
に変更します。これはローカルIPです。次に、Visual Studioのプロジェクトプロパティに戻り、localhostをIPに変更し、プロジェクトを保存して、プロジェクトがhttp://192.168.0.100:36899
に設定されるようにします。
また、何らかの理由でポートが使用中であった場合にのみ、ポートを変更して上記の手順を繰り返してみました。
リモートテストのために、インターネット上のIPからIIS Express開発者インスタンスにアクセスできるようにします。
これを修正した1つのことは、<bindings>
ファイルのサイトのapplicationhost.config
セクションで次の行を使用することでした。
<bindings>
<binding protocol="http" bindingInformation="*:8099:" />
</bindings>
キーは、単にローカルホストを削除することでした。アスタリスクで置き換えたり、IPやコンピューター名で置き換えたりしないでください。コロンの後に空白のままにしてください。
これを実行した後、管理者としてVisual Studioを実行する必要はなく、プロジェクトプロパティのプロジェクトURLをローカルIPまたはコンピューター名に自由に変更できます。その後、ポートフォワーディングを設定すると、インターネットにアクセスできるようになりました。
編集:
IIS Expressで外部リクエストを適切に処理するために重要なもう1つの癖を発見しました。
管理者としてVisual Studio/IIS Expressを実行している場合、必須ではありません「netsh http add urlacl ...」コマンドを使用してHTTP.SYSに予約を追加します。これを行うと、HTTP 503 Service Unavailableエラーが発生します。これを修正するには、URLACLで行った予約を削除します。
not管理者としてVisual Studio/IIS Expressを実行している場合、must URLACLに予約を追加します。
VS2015を使用している場合は、ソリューションを閉じ、次のファイルを削除してから、ソリューションを再度開きます。
<<path_to_solution_folder>>\.vs\config\applicationhost.config
.vsフォルダーが非表示になる場合があることに注意してください
私はまったく同じ問題を抱えていました。すべてを試してみましたが、最終的に1つのトリックが機能しました。
.vs
フォルダーが表示されます。.vs
フォルダーを開くと、その中にconfig
フォルダーが表示されます。そのコンテンツを削除します。File
メニューからソリューションを開きます。IIS Expressフォルダーを削除したり、その中の構成ファイルをいじったりすることはお勧めしません。
このエントリを変更していました(Webサーバーが実行されていなかったため、特定のポートでアクセス拒否エラーが表示されました)
<bindings>
<binding protocol="http" bindingInformation="*:61235:localhost" />
</bindings>
「applicationhost.config」内の「Documents\IISExpress\config "特定のWebアプリケーションの場合、Webアプリケーションを起動するたびにVisual Studio 2012によってデフォルトポートに再度上書きされました。 。
しかし、applicationhost.config
で何もしないことで問題を解決しました。 「プロジェクトプロパティ」>「web」>「プロジェクトurl」の設定をhttp://localhost:62135/
からhttp://localhost:47279/
(お使いのコンピューターによって異なります)に変更しただけで、うまくいきました。
これを試して:
私は同じ問題を抱えていましたが、他の人を助けるかもしれない異なる原因で。
これには、管理モードでコマンドプロンプトを使用します。-タイプ:netsh http show iplisten IPエントリがある場合:-タイプ:netsh http delete iplistenリストが空になるまで繰り返します。 IIS Expressがすぐに開始するかどうかを確認します。
これがお役に立てば幸いです、ニールス
Applicationhost.configファイルから不要なサイトエントリを削除すると、問題が解決しました。
私にとっては、プロジェクトソリューションフォルダーのapplicationhost.config
フォルダーの.vs
ファイルでした(.vs
フォルダーはデフォルトで非表示になっています)。そのため、プロジェクトを閉じて.vs
フォルダー(vsはプロジェクトを開くと再び作成されます)してから、プロジェクトを再度開いて実行します。
Visual Studioを管理者として実行として起動するだけです
おかげで、
次の手順で修正しました。
netsh http show urlacl
を実行し、アプリケーションのhttpアドレス/ポートがリストされているかどうかを確認します。netsh http delete urlacl url=[ADDRESS]
を実行し、[ADDRESS]
を前のコマンドで表示された予約済みURLに置き換えます。たとえば、http://+:17560/
私の場合、この問題を解決するために次のことを試みました。
「MyDocuments」からiisexpressフォルダを削除します
ソリューションエクスプローラーに移動->プロジェクトを右クリック->プロパティに移動-> Webタブに移動->サーバーを表示->「USe Visual Studio Developtment Server」ラジオボタンをクリック
これがお役に立てば幸いです。
上記のすべてのレシピを1時間試してみました。その後、どこからでもコンピュータを再起動し、再試行しました。そして今、すべてが順調です。
上記のすべての解決策を試す前に、コンピューターを再起動してください。役立つかもしれません
管理者としてコマンドプロンプトを開き、このコマンドを実行します:
netsh http show urlacl
前に追加したURLが表示されます。次のコマンドを実行する必要があります。
netsh http delete urlacl url=http://+:36899/ user=Everyone
を使用する場合は、リストからURLを確認してください:
(netsh http show urlacl)
すべてのソリューションを試した後、PCから「One Drive」をアンインストールするだけで問題は解決します。
N.B:
My DocumentsフォルダーのIISExpressフォルダーを削除して、デフォルト設定を確認するか、正常に動作していたときに以前のバージョンに復元します。
VS 2013では、マイドキュメントでGoogleドキュメントの同期を設定した後にこのエラーが発生しました。アクセス許可を読み取り専用にしないように更新し、問題を解決しました。
Windowsの更新が大量にあるコンピューターでも同じ問題が発生しました。
上記の回答を使用して問題を解決しようとして数時間をかけました。
過去には、アンチウイルスが原因でアプリケーションがブロックされる原因となっていたため、無効化.
私は数日前にこの問題を抱えていましたが、上記のすべての項目は私を助けることができませんでした。インタラクティブモードで動作するSONY VAIOラップトップにESET Smart Security 5.0があります!最後に、問題が見つかりましたESETがVS2012をブロックしていました! 「アクセスの拒否」とESETは、VS2012を拒否するルールを狂っていました。 「ESETルールゾーン」からこのルールを省略し、問題が解決しました!
ソリューションをクリックし、F4を押します。次に、ソリューションのポートを一致させ、ソリューションを右クリックして、Webタブポートのプロパティを選択します。ポート番号は、ケースF4とプロパティの両方で同じです。
最初に、ファイアウォールを無効にしてみてください。助けてくれました。 Eset Smart Security 5はそれをブロックしました。
<sites> </sites>
からデフォルトのWebサイトを削除します
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
そしてあなた自身の<site> </site>
"C:\Program Files\IIS Express\iisexpress.exe"
を実行します
http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line
Visual Studio 2012でも同じ問題が発生しました。C:\ Program Files(x86)\ IIS Express\AppServer\applicationhost.configパスの不要なサイトエントリを削除することで解決できました。 VS2012を管理者として実行するとともに。お役に立てれば
私はこの問題に直面しました。Webプロジェクトの[プロパティ]-> [Web]-> [ProjectUrl]で[仮想ディレクトリの作成]をクリックすると、問題が修正されました。