如何在Visual Studio 2010中有条件地执行一行
本文关键字:执行 一行 有条件 Visual Studio 2010 | 更新日期: 2023-09-27 17:57:30
我希望该行在Visual Studio中运行时执行,但不要在exe单独运行时执行。
谢谢。
您的意思是附加调试器时?如果是这样的话,你可以这样做:
#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。通过这种方式,您可以制定代码。