1

是否有可能在visual studio 2010中的不同項目中爲不同的文件提供一些預處理器指令常量?這裏是什麼,我試圖做一個例子:對不同項目中不同文件的預處理器指令(常量)

在文件中「1」的項目「從」我定義:TIMEDISPLAYING

#define TIMEDISPLAYING 

文件「2」項目「B」我檢查對於TIMEDISPLAYING:

#if TIMEDISPLAYING 
     //do something 
#else 
     //do something else 
#endif 

我知道在項目文件中我可以添加自定義常量。解決方案文件中是否存在可添加類似內容的地方?或者導入我所有自定義常量的其他類型的文件?

我目前有一個類定義的布爾常量,但我希望我的代碼編譯基於常量和DEBUG是不夠我的。我的下一個解決辦法是隻需添加我的布爾常量,如果DEBUG被定義:

#if DEBUG 
      protected const bool ISTIMEDISPLAYING = 1 == 1; 

      protected const bool ISDATARANDOM = 1 == 0; 

      protected const bool IS_AUTO_LOADING_CHAMP_VENDOR = 1 == 1; 

      protected const bool IS_TESTING_PO = 1 == 0; 
#endif 

有什麼替代方案我在這裏最後一個?任何幫助不勝感激。

回答

2

您可以在Visual Studio的項目屬性的「構建」選項卡上設置條件編譯符號,而不是在代碼中聲明它們。不同的構建配置可以分配不同的條件編譯符號,並且可以根據需要創建任意數量的構建配置。這可能更容易管理,您不必擔心要將它們添加到哪個源文件,因爲它們存儲在項目本身中。

如果您希望包含或排除基於條件編譯符號的整個方法,您可能還會發現Conditional attribute有用。

+0

我還沒有看到它是如何工作的多個項目。我確實瞭解條件屬性,但是我不知道如何爲所有項目製作它,而無需在每個項目上進行設置? – pqsk

+0

我知道這已經差不多一年了,但事實證明這非常完美。謝謝你的建議。起初我並不完全瞭解它,但是過去一個月我一直試圖花費一些時間閱讀關於這個的文檔,並且我剛剛實現了一些我正在創建的單元測試。這非常完美,所以當我想使用某些數據運行我的單元測試時,我只需更改解決方案的配置類型,一切都運行完美,而無需花費太多的人力。非常感謝。 – pqsk

+1

太棒了,我很高興它爲你工作! –

相關問題