如何在Visual Studio 2010中有条件地执行一行

本文关键字:执行 一行 有条件 Visual Studio 2010 | 更新日期: 2023-09-27 17:57:30

我希望该行在Visual Studio中运行时执行,但不要在exe单独运行时执行。

谢谢。

如何在Visual Studio 2010中有条件地执行一行

您的意思是附加调试器时?如果是这样的话,你可以这样做:

#if DEBUG
if (Debugger.IsAttached)
{
    //Your code here
}
#endif

这将仅在附加调试器时运行,例如使用F5运行。双击它或使用Ctrl+F5不会导致if语句被命中。它还被包装在一个条件中,所以当你编译以发布代码时,它甚至不在那里。

您可以使用构建标志

#if DEBUG
      //do something in here
#endif

然后,当你在发布中构建时,这些事情就不会发生了。

您可以使用ConditionalAttribute。将要有条件执行的代码放在方法中,并用[Conditional("DEBUG")]标记该方法。只有在设置了DEBUG常量时,才会编译该方法及其调用。

试试这个线程:如何判断Visual Studio设计器是否正在运行.NET代码

我认为这段代码可能会有所帮助:

[Conditional("DEBUG")]
private void DEBUG_Execute() 
{ 
    if (Debugger.IsAttached)
    { 
        //todo:  execute line when running within VS
    } 
} 

您可以检查Application.startuppath

如果您正在调试,则意味着存在bin/Debug文件夹,否则您将运行exe。通过这种方式,您可以制定代码。