私は最新の 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 プロパティを頻繁に使用すると、デバッグが困難になります。
デバッグの下でスクリプトを再度呼び出しても例外は発生せず、デバッグ シンボルがすべて読み込まれているため (推測)、デバッグは正常に機能します。
私はスタックオーバーフローやネット上で利用可能なさまざまな提案をたくさん試しましたが、どれもうまくいきません!