c#运行DEBUG版本的生产代码

时间:2013-01-03 16:16:14

标签: c#

我有以下代码:

     #if (DEBUG)

      imgPath = GetDirectoryName(Application.ExecutablePath);

    #else

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

    #endif

当代码进入生产(实时站点)时,它仍然看起来是DEBUG版本。这怎么可能?促销过程中是否有某些内容可以指示RELEASE vs DEBUG

2 个答案:

答案 0 :(得分:1)

您可能已经部署了一个版本,其中包含从Debug构建配置中获取的二进制文件,或者在任何情况下,DEBUG变量都设置为True。

您需要构建RELEASE并将该输出用作候选版本。

答案 1 :(得分:1)

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

此外,您的代码应该显示为灰色,表示VS不会编译该代码。因此,如果您希望使用的代码是灰色的,那么您可以在某处定义DEBUG。