1

我有以下代码:

     #if (DEBUG)

      imgPath = GetDirectoryName(Application.ExecutablePath);

    #else

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

    #endif

当代码进入生产(现场)时,它仍然看起来是调试版本。这怎么可能?促销过程中是否有一些东西可以表明做 RELEASE vs DEBUG

4

2 回答 2

1

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

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

于 2013-01-03T16:17:46.867 回答
1

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

此外,您的代码应该是灰色的,表明 VS 不会编译该代码。因此,如果您希望使用的代码是灰色的,则表明您在某处定义了 DEBUG。

于 2013-01-03T16:29:11.537 回答