2012年5月3日

ASP.NET MVC 4 BetaでWebページを編集中にVisual Studioがフリーズする件

Visual Studio 2010 SP1 + ASP.NET MVC 4 Betaという環境でコピー&ペーストしようとするとIDEがフリーズしてしまうという現象に遭遇した。

再現手順は次の通り。

  1. 新規でASP.NET MVC4 Web Applicationプロジェクトを作成。

  2. テンプレートは「Empty」を選択

  3. Solution ExplorerでControllersを右クリックしてコントローラクラスを追加。

  4. 作成されたクラスのIndexメソッド上で右クリックしてViewを追加。

  5. Index.cshtmlファイルが作成され自動的にその編集画面が開くので、HTMLタグなどを適当に入力して、コピー&ペーストを実行。

  6. Visutal Studioがフリーズして、その後強制終了(再起動)してしまう!
  7. 場合によってはコピー&ペーストをしなくても編集中にフリーズする。

いろいろ検索して、唯一見つけた同様のケースの情報がこれだった。
VS 2010 freezes when pasting text into the editor | Microsoft Connect
一つの回避策として、.cshtmlファイルを開く際に右クリックして「Open With...」というメニューからデフォルトのRazer EditorではなくHTML Editorを選べばエラーが出ないとの情報が得られた。

確かにその通り、HTML Editorで開くと問題ない様だ。
でも毎回その操作をするのは面倒なのでなんとか解決したい。

まずはVS.NETの拡張機能を片っ端からDisableしたりUninstallしたりして試す。
それでもダメなので、ASP.NET MVC 4 Betaを再インストール。まだ直らないのでこの際MVC3, MVC2もアンインストール。

VS.NETのSP1もアンインストールした。すると今度はアンインストールに失敗してしまい、だんだん雲行きが怪しくなって来る。嫌なパターンだ。

結局、案の定Visual Studio 2010全体を最初から入れ直すはめになってしまった。
2010の再インストール後、SP1、MVC3, MVC4 Betaと順に再インストール。
その後気を取り直して、また上記の手順でMVC 4のプロジェクトを新規作成して試すと....

またまたフリーズ! 再インストールの苦労は一体何だったのか...。

と数時間に渡る格闘の末、ようやく解決策を見つけ出した。
その解決策とは...

『プロジェクトを新規作成した後、ALT + B, U または CTRL+Shift+B を押して一旦ビルドしておく事!』



これで万事OKだ。







.