2017-04-14 109 views
0

我有一些关闭应用程序的代码。但是,如果我在Visual Studio中运行应用程序并进行调试,我想停止调试并关闭计算机。任何建议:停止Visual Studio在C#代码中的调试

代码:

#if DEBUG 
      throw new Exception("Can't shutdown!"); 
#else 
      try 
      { 
       this.Shutdown(); 
      } 
      finally 
      { 
       Process.Start("shutdown.exe", "-r -f -t 0"); 
      } 
#endif 
+0

请问如果工作?那么你可以只是application.exit,这将停止调试 – EpicKip

+0

你目前的做法似乎工作。你不喜欢它什么? – Carra

回答

3

尝试:

if (Debugger.IsAttached) 
    throw new Exception("Can't shutdown!"); 
else 
    try 
    { 
     this.Shutdown(); 
    } 
    finally 
    { 
     Process.Start("shutdown.exe", "-r -f -t 0"); 
    } 
+0

这可以帮助我确定什么时候使用调试器,我可以使用'#if DEBUG'来完成,但是,如何在不关闭系统的情况下停止调试? – Bhav

+1

通过退出应用程序而不是抛出异常。 _(就像EpicKip说的那样)_#DEBUG'在调试器上没有任何要做的事情。使用'#if DEBUG',您可以在调试版本中包含代码,这些代码将在发布版本中删除。 _(建立配置)_ –

相关问题