我已经编写了一个适用于用户群的应用程序。我正在寻找用于当前用户注销的最佳方式。所以我用过 Application.Restart();
不久我发现代码不能正常工作,Program.Main()
也没有再回调。我想知道我的登录表单加载方法不会执行(登录表单正在从程序类调用)。
因此,如果您让我知道我的错误和正确的解决方案,我将非常感激。
我已经编写了一个适用于用户群的应用程序。我正在寻找用于当前用户注销的最佳方式。所以我用过 Application.Restart();
不久我发现代码不能正常工作,Program.Main()
也没有再回调。我想知道我的登录表单加载方法不会执行(登录表单正在从程序类调用)。
因此,如果您让我知道我的错误和正确的解决方案,我将非常感激。
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.restart.aspx
评论列出“VS2010 SP1 中的错误”
调用此方法后,应用程序不再在调试模式下运行,它不是由 IDE 生成的,并且所有断点都停止运行。
编辑: 这是 log4net 之类的东西真正有用的地方。这是一个非常简单的库,可以添加到您的项目中,并且可以让您将调试信息写到文件中,因此,即使下一个实例不是由 IDE 生成并且不会获得断点,您仍然可以进行一些验证,以确保它达到了什么您期望通过使用调试跟踪。只是一个建议...
A new process gets created, and it's not spawned by the IDE.
A breakpoint is not a valid way to test if Main
is entered again.
See somewhat related post: Does Application.Restart() creates new process for application or no?
If you'd like, you could write to a file or some other simple test in Main
just to prove to yourself that it is entered.