C#应用程序重启不会调用程序Main()

我已经编写了一个适用于用户群的应用程序。 我一直在寻找用于当前用户注销的最佳方式。 所以我使用了Application.Restart(); 很快我发现代码无法正常工作, Program.Main()不再回调。 我想知道我的登录表单加载方法不会执行(登录表单是从程序类调用)。

所以,如果你让我知道我的错误和正确的解决方案,我真的很感激。

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.restart.aspx

评论列出“VS2010 SP1中的错误”

在调用此方法之后,应用程序不再在调试模式下运行,它不会由IDE生成,并且所有断点都会停止运行。

编辑:这是像log4net这样的东西真的有用。 这是一个非常简单的库添加到您的项目中,并允许您将调试信息写入文件,因此,即使下一个实例未由IDE生成并且不会获得断点,您仍然可以进行一些validation,它会触及什么你期望通过使用Debug跟踪。 只是一个建议……

创建了一个新进程,它不是由IDE生成的。

断点不是测试是否再次输入Main的有效方法。

看到一些相关的post: Application.Restart()是否为应用程序创建新进程或没有?

如果您愿意,可以在Main写入文件或其他简单测试,以certificate自己已输入。

微软最近发布了一个解决方案,允许调试在Application.Restart()之后以Power Tool的forms继续:

子进程调试电动工具

  • 博客文章
  • 在VS Gallery中下载