调试ClickOnce部署功能

6
我正在使用ClickOnce部署一个C# .NET应用程序,并编写了更新应用程序的代码(不使用项目发布设置中的选项)。
然而,我希望在部署之前测试此代码的功能(出于显而易见的原因)。我该怎么做?该代码检查应用程序是否是网络部署,在运行调试会话时,此标志为false。访问ApplicationDeployment.CurrentDeployment会导致抛出异常。
2个回答

10

您可以在添加如下代码后进行调试:

System.Diagnostics.Debugger.Launch();

这将显示一个对话框,允许您选择要附加的调试器。


4

我想知道你是否可以将它发布到你的开发服务器上,从那里运行它(这样它就算作网络部署),然后将你的IDE附加到该进程?(调试 -> 附加到进程)

如果您的更新代码在系统中运行得很早,您可以引入一个暂停;例如,我倾向于使用样板文件,在 Main 中检查 ctrl+alt 并显示额外的调试控制台(例如,显示 web-service 调用时发生的情况,通过引导用户进行“按住这些键...现在当错误发生时它说了什么?”来轻松地调试连接问题)。按照同样的逻辑,您可以显示一个 MessageBox(“debug mode; 现在附加您的调试器”)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接