2013-01-03 27 views
1

我有以下代碼:C#生產代碼運行調試版本

 #if (DEBUG) 

     imgPath = GetDirectoryName(Application.ExecutablePath); 

    #else 

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

    #endif 

當代碼投產(現場直播),它看上去還是對的調試版本。這怎麼可能?有沒有在提升過程中,可以指示DO版本VS DEBUG

+5

您是否將生成目標從調試更改爲發佈? –

+0

你指的是什麼促銷過程? –

+0

這是當你去建立 - >發佈 –

回答

1

你可能已經部署與調試版本配置或在任何情況下采取的二進制版本的東西,在DEBUG變量設置爲True。

你需要建立在發佈和使用,輸出作爲候選版本。

1

使用#if語句時,它正在檢查以確定常量是否已定義。在項目的properties-> Build部分下,DEBUG常量(默認情況下)設置爲在調試模式下定義。除非你自己定義它,否則沒有RELEASE常量。您可能使用過從調試模式構建的版本,或者爲您的版本構建檢查了「Define DEBUG常量」。仔細檢查你使用的和你的構建設置。

而且,你的代碼應該是灰色的,表明VS不會被編譯的代碼。因此,如果您希望使用的代碼是灰色的,那麼這是您在某處定義了DEBUG的指標。