我希望使用与Debug.Assert()
相同的行为检测并报告特定情况下的错误,但是在发布版本中。我怎么能这样做?
答案 0 :(得分:5)
答案 1 :(得分:1)
您可以在仍启用发布优化的情况下手动添加DEBUG常量。
在项目设置的“构建”选项卡中,只需选中启用DEBUG常量的框。
这允许所有具有[ConditionalAttribute("DEBUG")]
(如Assert()
)的函数在编译的程序中仍然有效。
编辑: Grant's answer is even better,如果可能,请使用Trace.Assert
。如果定义了常量TRACE
,则该函数将触发,并且在发布版本中默认定义它。这将确保您不会在代码中启用任何其他使用#if DEBUG
或[ConditionalAttribute("DEBUG")]
的代码时出现任何无法预料的副作用。
答案 2 :(得分:0)
你不能打开跟踪并执行跟踪吗?您可以在发布模式下使用条件跟踪。此外,您可以使用log4net
实现一些有条件的日志记录