ASP.NET 5 MVC:Webサーバー 'IIS Express'に接続できません


190

私がやっていること:

  • Visual Studio Community 2015を開く
  • ファイル->新規->プロジェクト
  • Visual C#:Web-> ASP.NET Webアプリケーション
  • ウェブアプリケーション
  • そして、「Webサーバー 'IIS Express'に接続できません。」というポップアップエラーが表示されたら、f5キーを押します。

削除applicationhost.configに位置は、Documents\IISExpress\configエラーメッセージを変更しません。(とにもIISExpressフォルダがprogram filesありprogram files (x86)ます。)

私が気づいたこと、そしてそれが問題であるかどうかわかりません:

参照ファイル「lib / jquery-validation / jquery.validate.js」が見つかりません。

rawcapでダンプを取得しましたが、そこにはあまり気づきません。そこにあったもののいくつか:

"Framework":{"FrameworkName": "DNXCore、Version = v5.0"、 "FriendlyName": "DNX Core 5.0"、 "ShortName": "dnxcore50"、 "RedistListPath":null}

私は問題に気づきませんが、Webサーバーに接続できない理由を理解するのに役立つ場合は、ネットワークデータがあります。私はRST,ACKすぐにメッセージが表示されるので、ポートが閉じており、このWebサーバーが何であれ、セットアップされていないと思います。

この問題の詳細:/ trace:errorからの800700c1エラー

私はもう試した:

  • applicationhost.configの削除(およびポート番号の変更)
  • 管理者としてVisual Studioを実行する
  • ドキュメント内のIISExpressフォルダーの削除(フォルダーが再インストールされるまでエラーメッセージが変更されます)
  • SSLのオンとオフを切り替え、URLを起動ボックスにコピーします。(注:私はsslを使用していません)
  • すべてのsfc / scannowエラーをクリアする
  • x86バージョンと64ビットバージョンでのiisexpressの起動

1
これは役に立ちますか?stackoverflow.com/questions/15873126/…。またはポートを変更しますか?stackoverflow.com/questions/23502327/...
mariocatch

1
..あなたは、Visual Studioを開いたときに、右クリックして[管理者としてオープンしてみてください
ハゼムTorab

私は以前に試したことがあったとしても、人々が私に与えるすべての提案を試みています。
Sarek 2016

これが機能しているかどうかチェックして、新しいプロジェクトを開くことができますか?PCを再起動しますか?プロジェクトを他のディレクトリに移動
セバスチャン506563

1
ありがとうございますが、それでもうまくいきませんでした。
Sarek 2016

回答:


254

Visual Studio 2015のUpdate 2をインストールした後、同じエラーが発生し始めました。私は運が悪いので上のすべてを試しました。しかし、私はうまくいく解決策を見つけました:

  1. YourSolutionFolder \ .vs \ config \ applicationhost.configファイルを削除します(注:.vsは隠しフォルダーです)
  2. Visual Studioを開き、Webサイトを右クリックし、[プロパティ]> [デバッグ]タブ> [Webサーバーの設定]> [アプリのURL]-ポート番号を変更します。

男、私のエラーが戻ってきて、これも別のサイトで発見されましたが、それはただのろわれたエラーを出し続けます。私を怒らせます。私はWebコンソールを実行しますが、ウォッチャーはありません。そのため、ctrl + sを押すだけで更新できます。
ルネSackers

ああ、うまくいきます。:私は、私は、そのファイルを削除した後、私はこのエラーを取得し始めたが、受け入れられた答えは解決した、マイドキュメントにIISExpressフォルダを削除stackoverflow.com/questions/33166403/...、今それが働いています:|
ルネSackers

3
私にとってそれは.vs\config\<MyProject>\config\applicationhost.config
laggingreflex

2
どこでweb site右クリックする必要があると思いますか?
CodyBugstein

13
Net Core 2.2プロジェクトの場合-大規模な苦労の後、.vsフォルダーの削除、IIS Express構成の削除、ポート番号の変更、バインディングの変更、および管理者としてのVSの実行からすべてを試みた後、1。VSを閉じる、2。削除することで問題を最終的に修正しましたlaunchSettings.json3.再生成したVSを開きlaunchSettings.jsonます。ファイルが破損しているか正しくないこと、またはファイルが変更されてエラーが発生したことは明らかではありませんでした。
クイントンスミス

189

VSを終了し、(project).vs \ applicationhost.configファイルを削除します。VSを再起動します。動作するはずです。


19
これはVS2017で、ポートを変更せずに機能しました。
mlienau 2017

4
これを行った後、管理者としてVisual Studioを実行する必要がありました。
DigaoParceiro 2017

5
特にRUN AS ADMINISTRATORは私にとって重要です。(私はAsp.netコア2.0 VS2017を有するが。
バートMensfort

1
.vsフォルダ全体を削除して私のために働いた、それだけ
FindOutIslamNow 2018

9
VS2017を再起動しても修正されませんでしたが、コンピューターを再起動すると修正されました。ポートを変更したり、フォルダを削除したりする必要はありませんでした。それが他の人を助けることを願っています。
トンモイ2018

32

別のポートを使用してみてください。新しいCore 1.0 RC1プロジェクトをセットアップしただけで、同じエラーが発生しました。

  • Webプロジェクトを右クリック
  • デバッグタブ
  • [SSLを有効にする]をオフにしてからもう一度オンにすると、新しいランダムなポートが生成されます。
  • SSL URLをコピーして、[起動URL]ボックスに貼り付けます
  • プロジェクトを実行する

私のために働いた(TM)。

回答:https : //stackoverflow.com/a/28650554/134761

ここに画像の説明を入力してください


1
動作しましたが、ポート60000を使用した場合のみです。ポート6000がエラーを返しました:安全でないポート。
EKanadily 2017

Visual Studio 2019では機能しませんでした-毎回同じポートを使用するだけでした。
EJoshuaS-

@ EJoshuaS-ReinstateMonicaこれは大きく変わったと思います。Startupクラスがどのように構成されているか、どのappsettings.jsonファイルがあるかを見てください。Properties\launchSettings.jsonローカルで別のプロファイルを起動することもできます。 docs.microsoft.com/en-us/aspnet/core/fundamentals/... dejanstojanovic.net/aspnet/2018/december/...
angularsen

27

プロジェクトのポート番号を更新すると、.net core 2.0でこの問題に直面しました。

私は2つのステップで問題を整理することができました:

  • ステップ1:メインソリューションフォルダー内に隠されている.vsフォルダーを削除します。(この前にVisual Studioを閉じてください)Visual Studioを再び起動すると、その中にあるこのフォルダーとファイル(applicationhost.config)がVisual Studioによって自動的に作成されます。
  • ステップ2:複数のスタートアッププロジェクトの場合、引き続き問題が発生する場合は、プロジェクトを1つずつスタートアップとして実行してから、複数のスタートアッププロジェクトとして実行します。

ソリューションは機能しました。ありがとう:) .gitフォルダも削除してみませんか?
krunal.cp

24

この問題は.net core 2.1、visual studioバージョン15.9.6で発生しました。.vsフォルダーを削除したとき、ビジュアルスタジオを再度開いても問題は解決しませんでした。以下で私のために働いた解決策:

  1. .vsフォルダーを削除します(これは隠しフォルダーです)。
  2. コンピューターを再起動。

その他の解決策:

  • Visual Studioを閉じ、プロジェクトフォルダからbinおよびobjフォルダを削除します。プロジェクトを開いて、ソリューションを再構築します。
  • 管理者としてVisual Studioを実行してみてください。
  • ソリューションをクリーンアップしてから再構築
  • 1)洗浄液。2)Visual Studioを終了します。3).vsフォルダーを削除する4)Visual Studioを再度開く

Visual Studioのみをシャットダウンし、.vsフォルダーを削除して、Visual Studioを再度説明することで、これを行うことができました。
Robert Bratton

ええ、それは私の場合ではない人のためにうまくいきます。それがうまくいかなかった理由はわかりません。唯一のことは私のコンピュータを再起動することでした。
Daniaal

2
ブルースクリーンの後でこれを得た。.vsフォルダーを削除してコンピューターを再起動する必要がありました。Visual Studioを再起動するだけでは不十分でした。
johnb

2
私のステップは次のように圧縮されました:1)Clean Solution。2)Visual Studioを終了します。3).vsフォルダーを削除する
samneric

1
@samnericありがとうございます。答えに解決策を追加します:)
Daniaal

13

管理者権限でVisualStudioを実行し、プロジェクトを実行します。次に、VisualStudioとすべてのエラーを閉じて、通常のユーザーでVisualStudioを再度実行します。

これでうまくいきました。

IISが管理者権限を持つ構成に何かを書き込む必要があるようです(ポート80は通常のユーザーでは機能しませんでしたが、ポート6767は正常に機能していました)。


5
アプリケーションが1024未満のポート番号にバインドすることを許可するのは、管理者権限のみです。そのため、6767が機能します。
Lex Li

12

同じ問題がありましたが、ポート番号を変更することで解決できました。

  1. プロジェクトを右クリックして、プロパティを選択します

  2. [デバッグ]セクションに移動します

  3. [Webサーバーの設定]でアプリのURLポートを変更します[1つ増やすだけです:)]

ここに画像の説明を入力してください


10

私の場合、それはIIS Expressが接続しようとする同じポートでリッスンしている他のアプリケーションでした。netstat -ao同じポートとシャットダウンアプリケーションを使用しているプロセスのPIDを表示するには、実行する必要があります。私の場合、アプリケーションはViberでした。


10

私のために働いた解決策は次のとおりでした:VSプロジェクトを閉じるエクスプローラーでプロジェクトに移動し、「。vs」フォルダー全体を削除しますプロジェクトを再起動します「デバッグ」として実行動作どうやら、「applicationhost .config」ファイル。

楽しい!


10

これらの回答の多くは、目前の問題に完全に対処していません。私の本当の問題は、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>

これらのポート番号の1つを「7000」以外に変更して、同じポートを使用しないようにします。

私の場合、localhostアドレスではない192アドレスを使用しているので、いくつかのnetshコマンドを使用してそのポートを開き、IPをアップする必要があります。これは、IIS Expressのポートを開いてリモート接続を許可する方法を示すリンクです。リストされているnetshコマンドを実行しない限り、通常のユーザーとして実行しても機能しません。

netshコマンドは次のとおりです。

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = everyone
  2. netsh advfirewall firewall add rule name = "IISExpressWeb" dir = in protocol = tcp localport = 58938 profile = private remoteip = localsubnet action = allow

それらのコマンドをコピーして、ADMIN特権とYOUR IPアドレスとポート番号を指定してcmdで実行します。


これが私の解決策でした。ありがとう
WeisserHund

8

プロファイルを "IIS Express"から "MyProjectName"(IISの代わりにHTTPサーバーとしてケストレルを使用していると思います)に変更したところ、問題なく動作しました。

ここに画像の説明を入力してください


これは解決策ではなく、回避策です。あなたの答えは、OPが明らかにIIS-Expressを機能させようとしている間に、別のサーバー-Kest​​rel-を使用することを提案しています。
プロローグ

2
3日間髪を引き抜いた後、この解決策は私を助けました。ありがとう
Meir

7

明確にするために

ここでの答えの多くは同じであり、「再起動すると魔法のように再び機能する」のようになります。

まあ、10回のうち9回はOPのようにこの問題があります。これは、IPアドレスが既に使用されているためです。

回答

2つのIPアドレスが使用されている可能性があります。どちらも、次の方法で見つけることができます。

1)スタートアッププロジェクトを右クリック

2)「プロパティ」をクリックします

3)[デバッグ]タブをクリックします

ここに「アプリのURL」と「SSLのURL」が表示されます。

  • 「アプリのURL」を使用している場合は、そこで変更して保存するだけで、再び機能します。

  • 「SSL URL」を使用している場合は、VSを閉じ、プロジェクトの非表示の.vsフォルダーにある「applicationhost.config」ファイルを削除して、VSを再度開きます。


6

このエラーは、1つ変更することで切り替えることができました。私の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はそれを好みません。


ポート番号を増やすためにこれを行わなければなりませんでした。私の元の投稿は「行き詰まっている」ため、再起動したり、修正方法を
見つけ

6

私はこれと同じ問題を抱えていましたが、それを修正する方法は、applicationhost.configに移動して、自分が追加していないポート(IIS Expressだと思います)を削除して、特定のポートサイトを別のポートに配置しました。

これが私のバインディング用の設定ファイルの内容です:

<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が割り当てられていることにも気付き、それも削除しました。


5

プロジェクトフォルダーからbinフォルダーとobjフォルダーを削除し、再ビルドします。


しばしば手動クリーンヘルプをしていますが、それはapplicationHost.configファイルに問題が存在するとして、この場合の問題を解決しないであろうと、最も可能性の高い二度同じIPアドレスを使用しようとによって引き起こされる
MedievalCoder

5

私は自分のソリューションをクリーンアップした後、それを再構築し、最後にF5を押して、うまくいきました!とても簡単。


4

MSバグがこの問題を引き起こす原因を完全に理解するつもりはありませんが、別の解決策を次に示します。

.vs / config / applicationHost.configファイルで、のセクションを見つけます<system.applicationHost><applicationPools>。プールの下で、managedRuntimeVersion属性値がシステムのIIS構成にある値(および/またはインストールされている.NETフレームワークのバージョン)と一致していることを確認します。

たとえば、(私がしたように)生成されたファイルに以下が含まれていることがわかります。

    <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ファイルを生成していると思います。これは、システムにインストール/構成されている特定のバージョンと一致しない場合があります。プロセスモニターで実行をトレースし、iisexpress.exeのコマンドラインを見つけることで、この問題をデバッグまたは監視できます。このコマンドを/trace:error追加して実行すると、バージョンv4.0でCLRをプリロードするのに失敗したことを示すより有益なメッセージが表示されます。ウィットするには:

IIS Expressを起動しています...
CLRバージョンv4.0をプリロードしようとして失敗しました。hr = 80131700 W3WP_HOSTの
初期化に失敗しましたhr = 80131700
プロセスモデルのシャットダウンが
iisexpressを開始できませんでした。


とにかく、これは誰かに役立つかもしれないと考えました。悪い情報を含む複数の参照をオンラインで参照することは十分に一般的であり、私は今個人的に数回ヒットしました。


これらの解決策のどれも私にとってはうまくいきませんでした。デフォルトのWindows IIS(Windowsに付属)をインストールしてアクセスできる場合は、それを使用してみてください。問題が解決しました。新しいWebサイトまたは新しいアプリケーションをそこに追加するだけで完了です。とにかく、IIS Expressがページを開けないのは奇妙です。追跡する必要がある場合は、ctrl + alt + p短いキーを使用してプロセスにアタッチし、チェックShow process for all usersして選択しw3wp.exe(場合によっては、Webサイトを更新してを見つける必要がありますw3wp.exe)、Attachボタンをクリックします。
Mohammad Musavi

3

それが機能していて突然停止した場合は、まずこれを試してください。

  • Visual Studioを閉じる
  • iisexpress.exeプロセスを強制終了する
  • Visual Studioを再度開く

3

私がapplicationhost.config内に新しいバインディングを追加するとすぐに鉱山が発生し、管理者が問題を修正したときに実行されます。


3

Visual Studioを閉じて、再度開いて実行するだけです。それは私のために働いた。


3

私にとっての問題は、他のプロセスが同じポートを使用していたことでした。(私の場合、私のサイトと同じポートを使用しているため、私のサイトを開始できませんでした)

はい、ローカルポートを変更できますが、APIまたは他のアプリケーションが必要とするものを実行している場合は、常にこれを実行する必要はありません。

どのアプリケーションがどのポートを使用しているかのリストを取得するには、CMDを開いて「netstat -aon」と入力します。ポートのリストが表示されます。サイトで使用するポート、または使用するポートを見つけて、PIDを書き留めてください。

次に、タスクマネージャーを開き、[詳細]タブをクリックします。PIDでプロセスを見つけて終了します。これで、そのポートでIIS Expressを起動できるはずです。


3

コンピュータを再起動することで、これを解決することができました。私はいくつかのことを試みて失敗しましたが、ようやく諦めてコンピューターを再起動しました。再起動してから2日間、問題なく動作しています。おそらくハングアップしたいくつかのプロセスの結果です。


3

私にとって、それはこれらの指示に従うことの混合でした:

Webアプリケーションの.vs \ applicationhost.configを削除して、再試行してください。

そして、おそらく最も重要なことは、管理者特権でVisual Studioを実行することです。


3

.UseUrls("https://localhost:<some port>/")Program.cs に追加しました。これは私にとってはトリックをするように見えました!


2

「SSLを有効にする」をオンに切り替えただけです。これは私の問題を解決しました。

  1. Webプロジェクトを右クリック
  2. デバッグタブ
  3. 「SSLを有効にする」を「オン」に切り替えます(オフの場合、これは私の場合です)。

2

同じ問題が発生し、実行中のすべての "iisexpress.exe"プロセスを強制終了しました。それは私のために働いた!


2

私の解決策(.net core 2.0の場合)は、launchSettings.jsonのiisExpressの下にあるapplicationUrlにポート番号を追加するのを忘れていたというものでした。

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}

launchSettings.jsonがVSによって自動的に生成または更新された場合、は最終的にapplicationUrl持つ必要があり/ます。詳細については、blog.lextudio.com /…
Lex Li

2

問題は[√] Enabled SSLプロジェクトに選択されたためである可能性があります(Debugプロジェクト設定ウィンドウのタブを参照)http://localhost:32396。失敗する理由は、1。でないためです。HTTPS、2。証明書が無効なためです。強制するには、44300〜44398の範囲のポートを使用する必要があります。

https://stackoverflow.com/a/24957146/1236397を参照してください



1

cmdで試す

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

そしてf5を押します。ポートの変更、ファイルの削除、VSの再起動は行いません。


あなたが少し答えることを説明するかもしれません。ここでは、プロセスを強制終了するだけでは解決しない場合があります。そしてその後は?
Shiham
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.