我正在试用最新的 Visual Studio,但使用 ViewBag 动态变量调试最基本的 MVC 应用程序让我很头疼。
我在 32 位 Windows 8 操作系统下运行 Visual Studio 2013,并进行了全新安装并应用了每个可用的更新。
我创建了新的 ASP.NET Web 应用程序(.NET Framework 4.5 - 新解决方案),其中包含 MVC 的文件夹和核心引用,之后我添加了带有一些元素代码的示例 Home 控制器:
dynamic d1 = 1;
dynamic d2 = 2;
ViewData["Vd1"] = 1;
ViewData["Vd2"] = 2;
ViewBag.Vb1 = 1;
ViewBag.Vb2 = 2;
在第一行打断点并跳到第二行,直到 ViewBag 属性正常工作(立即) - 然后,在输出窗口中我得到:
Microsoft.CSharp.dll 中出现了“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”类型的第一次机会异常
...并进入第二行(ViewBag.Vb2 ...)花了几秒钟。我测试了不同的动态变量以确保问题出在 ViewBag 属性上。
是什么导致了 IIS Express 下的异常和如此缓慢的调试?大量使用 ViewBag 属性使调试成为一场噩梦!
再次调用 Debug 下的脚本不会导致异常,并且调试工作正常,因为调试符号都已加载(猜测)。
我在 Stack Overflow 和网络上尝试了很多不同的建议,但都不起作用!