web-dev-qa-db-ja.com

IIS Express Webアプリケーションを停止した後、実行中のサイトを即座にシャットダウンする

IDEでアプリケーションを停止したい最初の日にVisual Studio 2012を使用していますが、アプリケーションはまだIIS Expressで実行されていました。 IIS停止ボタンを押すとすぐにアプリケーションをシャットダウンします。覚えているので、設定を変更しなかった。最初の日と同じように実行するにはどうすればよいですか。

165
saber

最近、デバッグを停止した直後にIIS Expressが突然停止したときに、同様の状況に直面しました。これは「編集と続行を有効にする」をオンにした後に発生しました。したがって、これを無効にすると、デバッグが停止した後でもIIS Expressが実行されたままになることがわかります。

プロジェクトを右クリックし、[プロパティ]をクリックし、左側の[Web]タブを選択し、Enable Edit and Continueチェックボックスをオフにします。

336
Abhi

VS2010およびVS2012では、新しいWebアプリケーションプロジェクトを作成するとき、編集および続行オプションはデフォルトで無効になっています。 VS2013では、デフォルトでオンになっています。

このオプションは、Webプロジェクトのプロパティウィンドウの[Web]タブにあります。

edit and continue option vs2013

[編集と続行を有効にする]をオンにすると、VSデバッガーはIIS ExpressでWebアプリケーションを起動します。デバッグを停止すると、IIS Expressも閉じられます。この動作により、IIS Expressシステムトレイがデバッグ中に表示され、デバッグ後に表示されなくなります。この動作は、[編集と続行を有効にする]オプションがオンになっているVS2012と同じです。

開発中に「編集して続行」機能が必要ない場合、デバッグセッション後もIIS Expressを使用したい場合は、 「編集と続行を有効にする」オプションをオフにするだけです

If「編集して続行」を使用するか、Asp.net 5サイトを開発しています(ASP.NET 5プロジェクトにはプロジェクトプロパティの[編集して続行]チェックボックス)「Detech all」コマンドを使用してデバッグを停止する必要があります。

デバッガーは、iisプロセスを閉じずに切り離します。

デバッグを再開するまで、明らかに「編集して続行」機能は動作しません。

enter image description here

83
giammin

(X) STOPボタンを押す代わりに、[デバッグ]メニューの[Detach all]メニュー項目を使用できます。主な違いは、[停止]ボタンは現在デバッグ中のプロセスを終了するのに対し、[すべて切断]はデバッガーをプロセスから切断しますが、終了しないことです。

通常のIISワーカープロセスも終了しますが、以前はサービスとして実行されていたため、自動的に再起動するため、|> Debugを介してプロセスを再起動することなく、引き続き使用できます。または|> Start without debugging

参照用のスクリーンショット

Adding 'Edit and Continue' button to debugging toolbar.

60
jessehouwing

Visual Studio 2015 Update 2のリリース以降、承認されたソリューションが機能しなくなったようです。

私がこれまでに見つけた最も簡単な解決策は、Debugメニューから「Start Without Debugging」を選択してプロジェクトを開始することです。

31
tocqueville

これはおそらく別の回避策として分類するのが最善ですが、私にとってはうまくいきます。

通常、「ブラウザで表示」コンテキストメニュー(またはCTRL-Shift-W)で初めてプロジェクトを開始します。

それ以降、デバッグが必要なものはすべて、通常、新しい既存のiisexpressプロセスにアタッチします。コンテキストメニューを介してマウスを動かすと、これは非スターターになりますが、次のキーストロークでF5とほぼ同じ速さです。

  • Shift-F6で現在のプロジェクトをビルドするか、Ctrl-Shift-Bでソリューション全体をビルドします(これは、変更を加えた場合にのみ必要ですが、F5はすでにこれを行っているので言及する必要があります)。
  • Ctrl-Alt-Pはプロセスへの接続ダイアログを開きます

  • 「iis」と入力すると、iisexpressプロセスが表示されます

  • エンターキーを押すと、あなたが接続されています

複数のiisexpressを実行している場合、最後に開始されたiisexpressは通常、リストの一番上に表示されます。別のオプションは、すべてをシフト選択してアタッチすることです。

これには、IMOの利点がいくつかあります。何よりもまず、プロセスを終了しません。第二に、デバッグを停止してもブラウザウィンドウは閉じられません。開発者がバグを再現するために7つのステップを繰り返すのを見ると、デバッガーが接続されたら既存のブラウザーウィンドウでF5キーを押すだけで再投稿することができます。最後に、nunitにアタッチするときに既にこれを行う必要があるため、より一貫したエクスペリエンスを得ることができます。

4
b_levitt