(注意,此问题已在Debugging Sharepoint timer jobs中标记为已回答,但我仍遇到问题)
我无法调试SharePoint计时器作业。通常我可以通过设置其中一个来做到这一点:
Debugger.Launch()
Trace.Assert(false)
但是没有显示对话框。我有一个log4net OutputDebugStringAppender
,以便我可以使用DebugView
监视输出,我可以看到DEBUG ASSERTION FAILED
正被写入调试日志。我已经尝试删除appender以防万一它可能搞砸了,但没有运气。
(重建,重启,IIS重置,服务重置,程序集中的pdb文件已完成)
那么为什么没有显示对话框?我可以在调试这个计时器工作时使用一些帮助,非常感谢任何想法。
答案 0 :(得分:1)
您最有可能在调试模式而不是发布模式下运行您的应用。在调试模式下,您已经连接了Debugger,因此无法启动。
您可以通过以下方式找到是否附加调试器:
System.Diagnostics.Debugger.IsAttached
所以试试这样:
if(!System.Diagnostics.Debugger.IsAttached)
{
System.Diagnostics.Debugger.Launch();
}
Trace.Assert(false)//Trace is not bound to Debug or Release mode so will always run