ken*_*yzx 9 .net debugging assert windows-8 windows-runtime
我注意到Debug.Assert不会在Metro应用程序中触发,但是,如果项目是传统的,如Console或WinForm,它会触发.是的,我处于调试模式.
它是否在Visual Studio(11 Beta)中未正确设置?或Debug.Assert旨在在metro应用程序中禁用?
我知道在执行Metro应用程序期间会吞下许多异常,但Debug.Assert非常方便,我无法想到它应该被禁用的原因.
好像是一个bug.我会推出自己的断言方法.就像是:
[Conditional("DEBUG")]
public static void Assert(bool condition)
{
if (!condition)
System.Diagnostics.Debugger.Break();
}
Run Code Online (Sandbox Code Playgroud)
它确实会触发,请查看“输出”窗口。它只是不会自动提示您询问是否想要调试器中断,因此只是继续行驶。
DefaultTraceListener.AssertUIEnabled 属性为 false。这是一个实现问题,无法在 Metro UI 顶部显示消息框。这确实有效,但显示器切换到桌面,当您想单击“否”时,这是非常不可取的。很难解决,而且毫无疑问在待办事项列表中。您无法轻松访问该属性并将其设置为 true,它无法从元数据访问。菲利普的解决方法听起来还算不错。
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |