1

私は最新の Visual Studio を試していますが、ViewBag 動的変数を使用して最も基本的な MVC アプリケーションをデバッグすると、多くの頭痛の種になります。

32 ビットの Windows 8 オペレーティング システムで Visual Studio 2013 を実行しており、クリーン インストールと利用可能なすべての更新プログラムが適用されています。

MVC のフォルダーとコア参照を使用して新しい ASP.NET Web アプリケーション (.NET Framework 4.5 - 新しいソリューション) を作成した後、いくつかの要素コードを含むサンプル ホーム コントローラーを追加しました。

dynamic d1 = 1;
dynamic d2 = 2;

ViewData["Vd1"] = 1;
ViewData["Vd2"] = 2;

ViewBag.Vb1 = 1;
ViewBag.Vb2 = 2;

最初の行でブレークポイントにヒットし、ViewBag プロパティが (即座に) 正常に機能するまで 2 番目の行に進みます。その後、[出力] ウィンドウに次のように表示されます。

タイプ 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました

...そして 2 行目 (ViewBag.Vb2...) に進むのに数秒かかりました。問題が ViewBag プロパティにあることを確認するために、さまざまな動的変数をテストしました。

IIS Express で例外が発生し、デバッグが非常に遅くなる原因は何ですか? ViewBag プロパティを頻繁に使用すると、デバッグが困難になります。

デバッグの下でスクリプトを再度呼び出しても例外は発生せず、デバッグ シンボルがすべて読み込まれているため (推測)、デバッグは正常に機能します。

私はスタックオーバーフローやネット上で利用可能なさまざまな提案をたくさん試しましたが、どれもうまくいきません!

4

2 に答える 2

1

Visual Studio 2013 ASP .NET アプリ (MVC および Web フォーム) のデバッグ速度の向上に関して見落とされ、報告されたことのない問題の 1 つは、ブラウザー リンクを無効にすることです。これは VS 2013 の新機能で、大量のオーバーヘッドが発生し、ページの読み込みが非常に遅くなります (ほとんどの場合 5 ~ 10 秒)。無効にすると、Visual Studio 2012 の速度に戻ります。

無効にする方法については、こちらを参照してください。

http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

于 2014-01-02T21:03:07.900 に答える
0

私にとってうまくいったのは、Internet Explorer 以外の別のブラウザーを選択することでした。Chrome または Firefox を使用した場合、デバッグは非常に高速です。ブラウザー リンクをオフにしても、Internet Explorer では役に立ちませんでした。

デバッグ時に別のブラウザに変更する方法についてのリンクを次に示します。

http://www.asp.net/visual-studio/overview/2013/using-browser-link#browser-refresh

于 2014-03-25T16:45:00.103 に答える