2010-01-03 54 views
19

我在項目中有幾個類只需要在某些應用程序版本中,這些版本目前尚未準備好發佈或調試。如何在C#中設置項目範圍#define

爲了防止這些類被利用,我想他們設置這個局面:

#if USE_MYCLASS 
// Code here... 
#endif 

不幸的是,我不知道如何設置一個項目範圍的#define。

在Visual Studio中是否有設置項目範圍定義的功能。

如果有,儘管我現在不需要它,是否有一個功能來設置解決方案範圍的定義?

如果沒有這樣的功能沒有(看到,因爲C#沒有包括的文件,我想這是可能的),有不使用命令行編譯器和/ d的任何方法或做這個功能的插件?

回答

31

您可以在項目屬性中執行此操作,但不能在源代碼中執行此操作。

項目屬性=>生成=>條件編譯符號

,您可以指定需要哪個符號(分隔空間,但IIRC是相當寬容)。請注意,DEBUGTRACE也可以用複選框切換。

我有多個一些項目「發佈」生成配置,在每個不同的符號(建設2.0 VS 3.0 VS 3.5版本 - 見<DefineConstants>here

+1

權當着我的面!我從來不知道那是爲了什麼,或者如何使用它,謝謝! – 2010-01-03 19:31:43

+0

謝謝!這也正對着我的臉! – Xonatron 2014-05-22 15:05:51

+0

「您可以在項目屬性中執行此操作,但不能在源代碼中執行此操作。」 這實際上是相當不愉快的限制。爲了方便和可視性,能夠在代碼中執行此操作非常重要。 – 2017-08-29 23:12:28