2014-09-18 90 views
0

我在一个名为上课就像在我的框架项目下配置有一个属性:始终#如果调试运行在DLL

public static string PropertyName 
{ 
    get 
    { 
     #if DEBUG 
      return GetValue("TestDevelopment"); 
     #else 
      return GetValue("Test"); 
     #endif 
    } 
} 

我编译我的项目。我将这个config.dll文件添加到不同的项目中。但总是从这个DLL中返回GetValue(“TestDevelopment”)。我编译了发布模式,但它不工作。

问题是什么?我希望,可以告诉...

+0

你还没有编译它在发布模式(或更正确的,任何_non DEBUG_模式。尝试删除您的bin/obj目录并再次编译。 – Michael 2014-09-18 21:15:08

+1

@Michael或更准确地说,在一个没有定义DEBUG '条件编译符号 – 2014-09-18 21:26:11

+0

只是为了增加有用​​的注释,如果有人有兴趣,可以在'#define'或'/ define':[msdn page](http://msdn.microsoft.com/en-us /library/0feaad6z.aspx)。 – Noctis 2014-09-18 22:38:53

回答

3

如果您将dll编译为调试,并将该文件复制到另一个,它将永远是它编译它时的任何内容。

您必须在Release中编译它才能发布。