2013-01-03 25 views
1

我有以下代码:C#生产代码运行调试版本

 #if (DEBUG) 

     imgPath = GetDirectoryName(Application.ExecutablePath); 

    #else 

     imgPath = GetDirectoryName(Application.ExecutablePath) + "\\images\\"; 

    #endif 

当代码投产(现场直播),它看上去还是对的调试版本。这怎么可能?有没有在提升过程中,可以指示DO版本VS DEBUG

+5

您是否将生成目标从调试更改为发布? –

+0

你指的是什么促销过程? –

+0

这是当你去建立 - >发布 –

回答

1

你可能已经部署与调试版本配置或在任何情况下采取的二进制版本的东西,在DEBUG变量设置为True。

你需要建立在发布和使用,输出作为候选版本。

1

使用#if语句时,它正在检查以确定常量是否已定义。在项目的properties-> Build部分下,DEBUG常量(默认情况下)设置为在调试模式下定义。除非你自己定义它,否则没有RELEASE常量。您可能使用过从调试模式构建的版本,或者为您的版本构建检查了“Define DEBUG常量”。仔细检查你使用的和你的构建设置。

而且,你的代码应该是灰色的,表明VS不会被编译的代码。因此,如果您希望使用的代码是灰色的,那么这是您在某处定义了DEBUG的指标。