2009-08-26 158 views
4

我使用ClickOnce部署C#.NET应用程序,并且编写了代码以编程方式更新应用程序(不使用项目发布设置中的选项)。调试ClickOnce部署函数

但是我想在部署之前测试这段代码的功能(出于显而易见的原因)。我该怎么做呢?代码检查应用程序是否被网络部署,以及在运行调试会话时此标志是否为false。并且访问ApplicationDeployment.CurrentDeployment会导致抛出异常。

回答

4

我不知道你是否可以将它发布到你的开发服务器,从那里运行它(因此它被视为网络部署),然后将你的IDE附加到过程? (调试 - >附加到进程)

如果您的更新代码在系统的早期运行,您可以引入一个暂停;例如,我倾向于使用锅炉板检查(Mainctrl + alt并显示一个额外的调试控制台(例如,显示Web服务调用,因为它们发生,使调试连接问题变得很容易在现场系统中,通过“抓住这些键......现在它发生错误时说什么?”)。通过相同的逻辑,你可以显示一个MessageBox(“调试模式;现在连接你的调试器”)。

+0

谢谢,我会尝试。 – 2009-08-26 14:41:48

9

您可以加入到这样的代码后对其进行调试:

System.Diagnostics.Debugger.Launch(); 

这将显示一个对话框,让你选择你的调试器附加到。