私がやっていること:
applicationhost.config
にあるDocuments\IISExpress\config
を削除しても、エラーメッセージは変わりません。 (program files
とprogram files (x86)
にもIISExpress
フォルダーがあります。)
私が気づいたこと、そしてそれが問題であるかどうかはわかりません。
参照ファイル 'lib/jquery-validation/jquery.validate.js'が見つかりません。
Rawcapでダンプを取ったのですが、そこにはあまり気付きません。そこにあったもののいくつか:
"Framework":{"FrameworkName": "DNXコア、バージョン= v5.0"、 "FriendlyName": "DNXコア5.0"、 "ShortName": "dnxcore50"、 "RedistListPath":null}
私は問題に気付いていませんが、ネットワークデータがあるのであれば、なぜWebサーバーに接続できないのかを突き止めることができます。私はすぐにRST,ACK
を受け取るので、ポートは閉じられていて、このWebサーバーが何であれ、セットアップされていないと思います。
この問題の詳細:/ traceからの 800700c1エラー:error
私はもう試した:
Visual Studio 2015用のUpdate 2をインストールした後、私は同じエラーを受け始めました。私は運なしで上記のすべてを試しました。しかし、私は私のために働く解決策を見つけました:
VSを終了し、(project).vs\applicationhost.configファイルを削除します。 VSを再起動します。それは働き始めるはずです。
別のポートを使ってみてください。私はちょうど新しいCore 1.0 RC1プロジェクトを立ち上げて、同じエラーを得ました。
私のために働きました(TM)。
プロジェクトのポート番号を更新すると、。net core 2.0でこの問題に直面しました。
私は2つのステップで問題を整理することができました:
VSプロジェクトを閉じるファイルエクスプローラで、プロジェクトに移動して ".vs"フォルダ全体を削除します。プロジェクトを再起動します。 "Debug"として実行します。明らかに、 "applicationhost"と関係があります。 .config "ファイル。
楽しい!
私の場合は、IIS Expressが接続しようとしているのと同じポートで他のアプリケーションがlistenしていました。同じポートとシャットダウンアプリケーションを使用しているプロセスのPIDを確認するには、netstat -ao
を実行する必要があります。私の場合、アプリケーションはViberでした。
プロジェクトフォルダからbinフォルダとobjフォルダを削除して再構築します。
管理者権限でVisualStudioを実行してプロジェクトを実行します。その後、VisualStudioとすべてのエラーを閉じて、通常のユーザーでVisualStudioを再度実行します。
これは私のためにそれをやった。
IISは管理者権限で設定に何か書き込みをしなければならないようです(ポート80は普通のユーザーではうまくいきませんでしたがポート6767はうまくいきました)。
私はこれと同じ問題を抱えていました、しかし私がそれを直す方法はapplicationhost.configに行き、私が特定のポートサイトを別のポートに置いた私によって追加されなかったポートを取り除くことでした。
これが私のバインディング用の設定ファイルです。
<bindings>
<binding protocol="http" bindingInformation="*:54764:localhost" />
<binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>
私が欲しかった唯一のポートが44360だったので、私は最初のバインディング項目を削除しました。私の設定ファイルは今このようになっています:
<bindings>
<binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>
デバッグしてもエラーが表示されません。
私のプロジェクトの2番目のAPIにもポート80が割り当てられていることに気付いたので、それも削除しました。
私は一つのことを変えることによってこのエラーを切り替えることができました。私のASP.Net Core 1.0 RC2 WebアプリケーションプロジェクトのlaunchSettings.json
ファイルで:
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "https://localhost:18177/",
"sslPort": 0
}
},
に
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:18177/",
"sslPort": 0
}
},
私はそのプロトコルを使ってプロジェクトを実行しようとしてhttpsに変更しました。どうやらこれはその変更を加えるための場所ではありません。同じポートに複数のバインディングを作成しているのではないかと思いますが、IIS Expressはそれを好まないのです。
ビジュアルスタジオを閉じて、再度開いて実行してください。それは私のために働きました。
私がapplicationhost.config内に新しいバインディングを追加するとすぐに私の処理が起こります。管理者が問題を解決したので実行します。
Program.csに.UseUrls("https://localhost:<some port>/")
を追加しました。これは私のためにトリックをしているようでした!
私は私のコンピュータを再起動することによってこれを解決することができました。私はいくつかの試みに失敗し、ついに私のコンピュータをあきらめて再起動した。私が再起動してから数日の間、それは今よく働いています。おそらくハングアップしたプロセスの結果です。
私はちょうど同じ問題に遭遇しました、そして私はまだ走っていたすべての "iisexpress.exe"プロセスを殺しました。それは私のために働いた!
私はMSのバグがこの問題を引き起こすものを完全に理解するふりをするつもりはないが、これは別の潜在的な解決策である:
.vs/config/applicationHost.configファイルで、<system.applicationHost><applicationPools>
のセクションを見つけます。プールの下で、managedRuntimeVersion
属性値がシステム(および/またはインストールされている.NET Frameworkのバージョン)のIIS configにある値と一致することを確認します。
たとえば、(私が行ったように)生成されたファイルには以下のものがあることがわかります。
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
私の場合は、これを次のように置き換えます。
<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
"v4.0"から "v4.0.30319"への置き換えに注意してください。これで問題は解決しました。
何が起こっているように見えます:
私は、VSが.NETフレームワーク用の「デフォルト」バージョンのapplicationHost.configファイルを生成していると信じています。これは、システムにインストール/設定されている特定のバージョンと一致しない場合があります。 Process Monitorで実行を追跡し、iisexpress.exeのコマンドラインを見つけることで、この問題をデバッグまたは確認できます。 /trace:error
を追加してこのコマンドを実行すると、バージョンv4.0でCLRをプリロードできなかったことに関するより有益なメッセージが表示されます。目撃するには:
IIS Express ...を起動しています...
CLRバージョンv4.0をプリロードしようとして失敗しました。 hr = 80131700
W3WP_Hostの初期化に失敗しましたhr = 80131700
プロセスモデルのシャットダウンが呼び出されました
iisexpressを起動できません。
とにかく、これは他の誰かに役立つかもしれないと考えました。悪い情報を含む複数の参照をオンラインで持っていることが十分に一般的であるので、私は今個人的にそれを数回ヒットしました。
私にとって問題は、他のプロセスが同じポートを使用していたことです。 (私の場合は、私のサイトと同じポートを使用していたため、私のサイトを起動できなかったのはOutlookでした)
はい、ローカルポートを変更することはできますが、APIや他のアプリケーションが必要とするものを実行している場合は、必ずしもこれを実行する必要はありません。
どのアプリケーションがどのポートを使用してCMDを開いているかのリストを取得するには、「netstat -aon」と入力します。ポートのリストが表示されます。あなたのサイトが使うべきであるか、あなたが使いたいポートを見つけて、PIDを書き留めてください。
今タスクマネージャを開き、タブ「詳細」をクリックしてください。あなたのPIDでプロセスを見つけてそれを終了します。これでIIS Expressをそのポートで起動できるはずです。
私は.netコア2.1、ビジュアルスタジオバージョン15.9.6でこの問題を抱えていました。 .vsフォルダを削除したとき、私はビジュアルスタジオを再開しました、そして問題はまだそこにありました。私のために働いた解決策は以下のとおりです。
ビジュアルスタジオを管理者として実行するだけです。
それが働いていて突然停止した場合は、まずこれを試してください。
私の解決策(.net core 2.0用)は、launchSettings.jsonのiisExpressの下で、applicationUrlにポート番号を追加するのを忘れていたというものでした。
"iisExpress": {
"applicationUrl": "https://localhost:50770",
"sslPort": 50770
}
Cmdで試す
taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f
そしてf5を押します。ポートの変更、ファイルの削除、VSの再起動はしません。
私は単に「SSLを有効にする」に切り替えました。これで私の問題は解決した。
根本的な問題は私にとっての許可だと思います
何が問題の原因となっているのかわかりませんでした。しかし、 修復インストール で修正しました。
私にとって、IIS Expressは、DOSプロンプトでiplisten
を次のように追加したときにアクセスできませんでした:netsh http add iplisten MyIPAddress
。私はこのようにiplisten
を削除することでそれを修正しました:netsh http delete iplisten MyIPAddress
。
私にとっては、以下の 指示 が混在していました。
Webアプリケーションの.vs\applicationhost.configを削除してやり直してください。
そして、おそらく最も重要なのは、管理者権限でVisual Studioを実行することです。
次のレジストリキー\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList
に、使用しているコンピュータの有効なネットワークアダプタにバインドされていないIPアドレスが含まれていないことを確認してください。
この質問[SOおよび他の多くの質問にリストされている他のさまざまな解決策を試みた後、これが私の問題の原因でした。
どうやら、IIS expressが起動しようとしたとき、この無効なIPにバインドしようとしていました。修正は無効なIPを削除することでした。職場で私はハードワイヤードアダプタを介して別のIPを割り当てられている間、この追加の無効は、おそらく私の家の無線ネットワークから来ました。
包括的な解決策は、レジストリキーからすべてのIPを削除し、すべてのアドレスで待機できるようにnetsh http add iplisten ipaddress=::
を実行することです。
次のイベントログエントリに気付いた後、この問題を突き止めることができました。
問題は、プロジェクトで[√] Enabled SSL
が選択されていたため(プロジェクト設定ウィンドウのDebug
タブを参照)、Visual Studioがダムでhttp://localhost:32396
のような設定になっていることが原因と考えられます。それが失敗する理由は、1. HTTPS
ではなく、2.証明書が無効であるためです。それを強制するには、44300から44398の範囲のポートを使用する必要があります。
https://stackoverflow.com/a/24957146/1236397 を参照してください。
そして同じエラーを起こすもう一つの方法:
IPアドレスとして0.0.0.0
を使用します。これは本番環境ではうまく機能しますが、IIS Expressでは失敗し始めました。これをdevのlocalhostに戻して問題を解決しました。
明確にする
本当にここの答えの多くは同じで、「再起動して魔法のようにうまくいきます」のようなものを言います。
10回のうち9回の人がこの問題をOPのように感じています。IP-ADDRESS ISすでに使用されているからです。
ANSWER
使用中の2つのIPアドレスがある可能性があります。どちらもあなたが見つけることができます:
1)スタートアッププロジェクトを右クリック
2)「プロパティ」をクリック
3)[デバッグ]タブをクリックします
ここにあなたの "App URL"と "SSL URL"が表示されます。
あなたの "App URL"が使用されている場合は、それをそこに変更して保存するだけで再び機能するはずです。
「SSL URL」が使用されている場合は、VSを閉じ、プロジェクトの隠れた.vsフォルダにある「applicationhost.config」ファイルを削除して、VSをもう一度開きます。
Windows 10 Defender Firewallがそれをブロックしていました。私はそれをオフにし、mvc core 2.0アプリケーションを実行しました、そしてそれはうまくいきました。私はその後、Windowsファイアウォールを再びオンにしても機能し続けました。他のすべての解決策はよく考えられていましたが、うまくいきませんでした。これが誰かに役立つことを願っています。
これらの回答の多くは、当面の問題に完全には対応していません。私にとって本当の問題は、applicationhost.configファイルで同じポートを使用して2つのバインディングがあり、2番目の(localhostではない)バインディングに対してポートを開いていないことでした。 VSでは、これらの状況でも実行できますが、管理モードになっている場合のみです(したがって、上記のすべての回答)。
基本的に、同じポートでアプリの2つのIIS Expressインスタンスを作成しているので、applicationhost.configファイルのポートの1つを変更することで続行できます。ただし、2つの異なるapplicationhost.configファイルがあります。プロジェクトのプロパティに表示されるバインディングIPとポートを持つものを選択します。
プロジェクトソリューションとプロジェクトフォルダーを表示できるフォルダーに移動します(エクスプローラーで非表示のアイテムを表示します)。非表示の.vsフォルダー-> "YourAppName"フォルダー-> configに移動します。プロジェクトのプロパティで見たバインディング情報が含まれている必要があります。
例:
<bindings>
<binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
<binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>
これらのポート番号のいずれかを「7000」以外に変更して、同じポートを使用しないようにします。
私の場合、ローカルホストアドレスではない192アドレスを使用しているため、いくつかのnetshコマンドを使用してそのポートを開き、IPを起動する必要があります。 リンク は、IIS Expressのポートを開いてリモート接続を許可する方法を示しています。リストされているこれらのnetshコマンドを実行しない限り、通常のユーザーとして実行することはできません。
Netshコマンドは次のとおりです。
これらのコマンドをコピーし、ADMIN特権とYOUR IPアドレスとポート番号を使用してcmdで実行します。
私はVisual Studio 2017のインストールを修復し、それは再び働いた
私はVS2017を使用しています、私は無効にするTool > Options > Debugging > Enable JavaScript debugging for ASP.NET
それから動作します。
すべてのポート番号を、動作中のシリーズの新しいものに変更するだけです。アプリケーションのHost .configを変更しないでください。