2014-09-18 2 views
0

에서 디버그 #IF 실행 :항상 나는 내 프레임 워크 프로젝트에서 다음과 같이 클래스 이름을 설정 한 속성이 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

+1

@Michael 또는 더 정확하게는'DEBUG '조건부 컴파일 심볼 –

+0

유용한 코멘트에 관심있는 사람이 있다면'# define' 또는'/ define'에 대한 자세한 내용을보실 수 있습니다 : [msdn page] (http://msdn.microsoft.com/en-us /library/0feaad6z.aspx). – Noctis

답변

3

dll을 디버그로 컴파일하고 파일을 다른 것으로 복사했다면, 컴파일했을 때의 모든 것이 될 것이다.

릴리스에서 컴파일하려면 컴파일해야합니다.