Visual StudioでWebアプリケーションにランダムなポート番号が割り当てられていることがわかります。私のオフィスのデスクトップでは問題なく動作します。しかし、コードをラップトップに(VisualStudio.comから)プルして、Webアプリを実行すると。次のようなメッセージを受け取りました
ポート10360はすでに別のアプリケーションで使用されています。
ポートを13333などの別のポートに変更することで、Recommendation #1
を使用して修正できます。しかし、ポート10360で何が起こったのか非常に興味があります。どのアプリケーションがポート10360を使用しているかを確認するにはどうすればよいですか?そのアプリケーションを停止するにはどうすればよいですか?
この方法で問題を解決します...
ファイル-> 開く-> Webサイト...
その後、IIS Expressサイトの下でローカルIISを選択し、不要なプロジェクトを削除します。
この助けを願っています。
私は同じ問題を抱えていましたが、netstatにもresmonにもプロセスは現れませんでした。
問題を解決したのは、開いているすべてのブラウザウィンドウを閉じることでした。
これは1年以上私を悩ませていました!
私のために、
netstat -ano
を実行することで決定されたポートを使用していませんでした。解決策は実行することでした
netsh http add iplisten ipaddress=::
コマンドラインから。
ハッピーデイ、そしてクレジット:James Bryant! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html
netstat
を探しています。
管理コマンドシェルを開いて実行します
netstat -aob
ポート10360を探します。ポートを開いた実行可能ファイルと、タスクマネージャーで検索するPIDが表示されます。 (実際には、権限のないシェルでnetstat -?
を最初に実行します。特に特権コンテキストでは、理解できないものを盲目的に実行することを認めていないためです。)
スイッチの機能は次のとおりです。
-a
は、アクティブな接続だけでなく、すべての接続または開いているポートを表示します-必要なポートはおそらくアクティブではなくリッスンしています。
-o
は、接続またはポートの所有PIDを示しているため、タスクマネージャーの[プロセス]タブでプロセスを見つけることができます。 (タスクマネージャーでPID列を追加する必要がある場合があります。[表示]-> [列の選択])
-b
は、接続またはポートのオープンに関係するバイナリを示します。これは、昇格されたアクセスを必要とするものです。
Visual Studioを管理モードで実行すると問題が解決しました
Netstatに何も表示されない場合は、再起動してください。
私にとって、私のポートのnetstatには何も現れませんでした。 Google Chromeブラウザーウィンドウを@Clangonおよび@ J.Tとして閉じてみました。テイラーは提案したが、役に立たなかった。
しかし、最終的にはシステムの再起動が機能したため、他の何かが密かにポートを開いたままにしていたと推測できます。または、Chromeがシャットダウンした後、ポートが解放されるのを待機する準備が整うまでに時間がかかったのかもしれません。
私にとって、Google Chromeブラウザーはポートを使用していたプロセスでした。 Chromeを閉じた後でも、プロセスが持続することがわかりました(デスクトップ通知を受信できるように、Chromeを「バックグラウンドで実行」できます)。タスクマネージャーに移動し、Chromeブラウザープロセスを強制終了し、Webアプリケーションを起動しました。
Visual Studio 2015
これがお役に立てば幸いです。
私にとっては、すべてのアプリケーションを閉じて、コンピューターを再起動します。
ウィンドウが起動したら、最初にVisual Studioを開き、次にブラウザーを開いてrun(F5)をクリックします。
今では動作します。理由はわかりません。
たとえば、メモ帳++でcsprojを開き、DevelopmentServerPortまでスクロールします。推奨されるように1024を超えている限り、それを別のものに変更します(たとえば、22312)。また、IISUrlを http:// localhost:22312 / に変更します。変更を保存して、プロジェクトを再起動します。
私の場合、指定されたポートを使用するアプリケーションはなく、Visual Studioの昇格した実行も助けにはなりませんでした。
私のために働いたのは、IIS Expressを再インストールし、コンピューターを再起動することです。
ポートxxxxが既に使用されている場合は、常にエラーが発生したPID(プロセスID)があります。アプリケーションを実行しているマシンのタスクマネージャに移動し、詳細をクリックするだけで、他のアプリケーションが何であるかを特定できます。その後、そのプロセスを終了するかどうかを決定できます
使用中のポートなどのエラーを受け取った場合はタスクバーの下部にある通知をクリックしてから、iissアイコンを選択して右クリックし、終了をクリックしてください。
私にとって、netstatは、ポートを開いたままにしていたFiddlerを実行していることを示すトリックを行いました。
同じエラーが表示されました。 IISでWebサービスをアプリケーションとして設定し、次の方法で修正しました。
ソリューション内のWebServiceプロジェクトを右クリックして、[プロパティ]> [Web]> [サーバー]で[IIS ExpressからローカルIISに変更します(仮想ディレクトリが自動的に作成されます)欲しいです)
エラーメッセージは、どのアプリケーションが既にポートを使用しているかを示しているはずです-私の場合はExplorer.exeであったため、タスクマネージャからExplorerを再起動しただけです。
私にとっては、以前の実行からの孤立したVBCSCompilerタスクであり、シャットダウンせず、何らかの形で干渉していました。そのタスクを殺すことで解決しました。
これに追加するために、マシンの1つで完全なIIS機能をオンにしましたが、これが断続的に発生するようです。
また、しばらくしてサイトをバインドするために管理者権限が必要であるという不満もありました。どういうわけか、完全なIIS構成を見ていました(ユーザーごとのファイルではないため管理者が必要です)。
立ち往生していて、他に何も役に立たない場合(そして、別のポートを選択したくない場合)、存在する場合はこれを削除したことを確認してください。
私にとって、netstatは、選択したポートを既に使用しているものを何も表示しませんでした。
唯一機能したのは、ソリューションフォルダーの.vsフォルダーを削除することでした。
FWIW、私はこれらのオプションをたくさん試しましたが、どこにも行きませんでした。その後、問題が始まる直前にVMWare Playerをインストールしたことに気付きました。アンインストールすると、このエラーはなくなりました。
それらを共存させる方法は確かにありますが、Playerは本当に必要ないので削除しました。あらゆる種類のものを試したが機能しない場合は、最近インストールしたプログラム(特にネットワークアダプターを扱うプログラム)を調べて、それがどこに行くかを確認してください。
私にとって、「指定されたポートは使用中です」というエラーは、通常、stopping the "インターネット接続の共有(ICS)"(SharedAccess )および「World Wide Web Publishing Service」(W3SVC)サービス。
プロジェクト/ ISS Expressを開始した後、停止したサービスを問題なく再開できます。
エラーが発生するたびにポート(50000の範囲内)は間違いなく使用されていません(netstat&tcpviewで確認)。
MicrosoftがVisual Studio/IIS ExpressとHyperVおよび「通常の」IISサービスORの統合テストをいくつか行って、 VS/IIS Expressに使用するポート範囲(および回避するポート)。