任何條件編譯符號在C#中,可以檢查任何條件編譯符號的存在,不只是一個,即檢查在C#
#if ANY_CONDITIONAL_COMPILATION_SYMBOL_IS_DEFINED
MessageBox.Show("Don't forget to remove the cc symbols before shipping.");
#else
...
任何條件編譯符號在C#中,可以檢查任何條件編譯符號的存在,不只是一個,即檢查在C#
#if ANY_CONDITIONAL_COMPILATION_SYMBOL_IS_DEFINED
MessageBox.Show("Don't forget to remove the cc symbols before shipping.");
#else
...
你可以嵌套這些:
#if DEBUG
#if FOOBAR
MessageBox.Show("Don't forget to remove the cc symbols before shipping.");
#endif
#endif
這將需要調試和FOOBAR將被設置爲消息顯示。
沒有辦法檢查任何符號,但是您可以對所有使用的符號執行此操作。
確實有,看我的答案。 – Matten
可以使用||
操作:可以在MSDN獲得這個預處理符號
#if (DEBUG || SOME_OTHER)
MessageBox.Show(...)
#endif
更多信息。
您可以使用運算符==(等於),!=(不等於)來測試 的真或假。 True表示符號已定義。聲明
#if DEBUG
的含義#if (DEBUG == true)
相同。您可以使用運營商& &(與),|| (或),和! (不)評估是否定義了多個 符號。您也可以將括號中的符號和運算符 分組。
如果我正確理解你的問題,那麼你想確保發送給客戶端的最終版本應該沒有任何條件編譯參數。
條件編譯參數被指定爲切換到CSC(C#編譯)。構建團隊可以維護一個清單(基本上是單獨的配置),以便在構建解決方案時,不會使用條件編譯參數來構建解決方案/項目。對於內部測試,可以有一個獨立的構建配置。
我不認爲這是在C#的方式在爲項目定義條件編譯參數列舉作爲CC的論點基本上是用於編譯該項目。一旦項目建成,他們就沒有任何意義。
並非所有的編譯符號的意思是「這不是一個生產版本」 ...... IMO你需要找到這將是一個問題,而處理這些... –