我已经编写了一个适用于用户群的应用程序。我一直在寻找用于当前用户注销的最佳方式。所以我用Application.Restart();
很快我发现代码无法正常工作,Program.Main()
不再回调。
我想知道我的 登录表单加载方法 不会执行(登录表单是从程序类调用的)。
所以如果你让我知道我的错误和正确的解决方案,我真的很感激。
答案 0 :(得分:6)
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.restart.aspx
评论列出了“VS2010 SP1中的错误”
调用此方法后,应用程序不再以调试模式运行,它不会由IDE生成,并且所有断点都会停止运行。
编辑: 这就像log4net这样的东西真的很有帮助。这是一个非常简单的库,可以添加到您的项目中,并允许您将调试信息写入文件,因此,即使下一个实例未由IDE生成并且不会获得断点,您仍然可以进行一些验证,它会触及什么你期望通过使用Debug跟踪。只是一个建议......
答案 1 :(得分:2)
创建一个新进程,它不是由IDE生成的。
断点不是测试是否再次输入Main
的有效方法。
查看相关帖子: Does Application.Restart() creates new process for application or no?
如果您愿意,可以在Main
中写一个文件或其他简单的测试,只是为了向自己证明它已被输入。
答案 2 :(得分:0)
Microsoft最近发布了一个解决方案,允许在Application.Restart()
之后以电动工具的形式继续调试: