web-dev-qa-db-ja.com

Visual Studioは、Microsoft.VisualStudio.Web.Host.exeの実行を定期的にフリーズします

バックグラウンド

Visual Studioの「Webサイトプロジェクト」であるいくつかのWebサイトを管理しています。

問題

これらのプロジェクトをいくつか使用すると、コードの作業中にVisual Studioが定期的にフリーズすることがわかりました。これは、Webサイトプロジェクトのsomeでは発生せず、どのWebでも発生しませんApplicationプロジェクト。

症状

  • フリーズするたびに、再び使用できるようになるまで約30分かかります。
  • フリーズ中、Windowsタスクマネージャーは、Microsoft.VisualStudio.Web.Host.exeがCPUコアの1つを使い果たしていることを報告します。

再現する手順

  1. .csディレクトリの下のApp_Codeファイルを開きます。
  2. ファイルを変更します。
  3. ファイルを保存します。
  4. 別の場所に移動します(タブの切り替え、ファイルを閉じる、Windowsで別のプログラムを開くなど)。
  5. ファイルに戻ります(タブを切り替える、開く、またはVisual Studioに戻るなど)。

問題を引き起こすように見える他のアクション:

  • 「定義に移動」
  • ファイルを開く
  • ファイルをプレビューする
  • ファイルを閉じる
  • リファクタリングを使用する
  • 「用途を見つける」

私が試したこと

  • Visual Studio 2012とVisual Studio 2015の両方
  • Webサイトプロジェクトのビルドアクションを変更する
  • 「ソリューションの一部としてWebサイトを構築する」を無効にする
  • Web参照とBinフォルダーを削除すると問題が最小限に抑えられるように見えますが、明らかにこれはWebサイトを破壊します。 Webサイトプロジェクトに分離コードファイル以外のC#コードが多数含まれている場合、この問題が発生する可能性がありますか?

同様の問題

Googleを使用して、次の潜在的に関連する問題を見つけましたが、回避策や解決策が含まれているようには見えませんでした。

16
Sam

WebサイトプロジェクトがWeb アプリケーションプロジェクトに変換されると、この問題は発生しなくなりました。

簡単な解決策ではありませんが、問題は解決しました。

0
Sam

ReSharperを中断すると、問題の発生頻度が低くなることに気付きました。

ReSharper options in Visual Studio showing the "Suspend Now" button

App_Codeの下でクラスを編集しているときに問題が発生することがありましたが、Visual Studioを再起動すると回避できました。

7
Sam

私は同様の問題に直面していました。 VS 2010からVS 2013に移行された、多数のクラスライブラリを持つ単一のWebアプリケーションプロジェクト。

「ホスティングプロセス」オプションを無効にすることで問題を解決できました。

ホスティングプロセスを無効にするには

  1. Visual Studioで実行可能プロジェクトを開きます。しないプロジェクト
    プロデュース実行可能ファイル(クラスライブラリやサービスプロジェクトなど)には、このオプションはありません。
  2. Projectメニューで、Propertiesをクリックします。
  3. Debugタブをクリックします。
  4. Visual Studioホスティングプロセスを有効にするチェックボックスをオフにします。

MSDNの詳細: http://msdn.Microsoft.com/en-us/library/ms185330.aspx

6
sdg

上記の受け入れられた回答にプロパティページがない古いWebアプリケーションでこれを経験している人々のための別のオプション。

「このプリコンパイル済みサイトを更新可能にする」を無効にします。

  1. オープンサイト/ソリューション
  2. 右クリックしてプロパティページを表示
  3. MSBuildオプションに移動
  4. 「このプリコンパイル済みサイトを更新可能にする」のチェックを外します

これは私のために働いた。

4
Isaac

この投稿の質問における彼らの症状は、私が今日抱えていた悪夢のように聞こえます。

問題を引き起こすように見える他のアクション:

「定義に移動」

ファイルを開く

ファイルをプレビューする

ファイルを閉じる

リファクタリング「使用方法の検索」の使用

さらに、(Ctrl + Jを使用しても)インテリセンスが機能せず、「ピーク定義」もハングしていました。

私はタスクを殺すビジュアルスタジオを維持しなければなりませんでした(2015年と2017年の両方)。

私の修正は、私が問題を抱えていたプロジェクトに行き、「パッケージマネージャーコンソール」を開き、「DotNetCompilerPlatform」をアンインストールして再インストールすることでした

uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 

その後

install-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

これまでのところ、私が遭遇したすべての問題は再浮上していません(しかし、これは今日のことなので、まだ時間をかける必要があります)。

更新:

再び忍び寄ってきました。また、このソリューションにインストールした人が、さまざまなプロジェクトのうちの2つだけにそれを行ったことに気付きました。コンパイラプラットフォームをアンインストールする(つまり、Visual Studioに付属のコンパイラを使用する)と、人生は再び正気に戻ります。

1
Mike Cheel