2013-01-03 4 views
1

을 실행 나는 다음과 같은 코드를 가지고 :C는 # 생산 코드 디버그 버전

코드 생산 (라이브 사이트)에 갔다
 #if (DEBUG) 

     imgPath = GetDirectoryName(Application.ExecutablePath); 

    #else 

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

    #endif 

, 여전히 디버그 버전을 보였다. 이것이 어떻게 가능한지? 프로모션 프로세스 중에 RELEASE vs DEBUG를 나타낼 수있는 무언가가 있습니까?

+5

빌드 대상을 디버그에서 릴리스로 변경 했습니까? –

+0

어떤 홍보 과정을 언급하고 있습니까? –

+0

빌드 -> 게시로 이동하면됩니다. –

답변

1

디버그 빌드 구성에서 가져온 바이너리가있는 버전을 배포했거나 어떤 경우에도 DEBUG 변수를 True로 설정했을 수 있습니다.

RELEASE를 빌드하고 해당 출력을 릴리스 후보로 사용해야합니다.

1

#if 문을 사용할 때 상수가 정의되어 있는지 확인합니다. 프로젝트의 속성 -> 빌드 섹션에서 DEBUG 상수는 (기본값으로) 디버그 모드에있을 때 정의되도록 설정됩니다. 직접 정의하지 않는 한 RELEASE 상수는 없습니다. 디버그 모드에서 빌드를 사용했거나 릴리스 빌드에 대해 "DEBUG 정의 상수"를 선택했을 수 있습니다. 사용한 설정과 빌드 설정을 다시 확인하십시오.

또한 VS가 해당 코드를 컴파일하지 않는다는 것을 나타내려면 코드가 회색으로 표시되어야합니다. 따라서 사용하고자하는 코드가 회색이면 디버그를 어딘가에 정의한 표시기입니다.