2016-09-20 95 views
0

我們預處理器指令在Visual Studio的C#,例如:不C#允許預處理指令不同的解決方案

#define CONDITION1 

#if CONDITION1 
    Console.WriteLine("Version1"); 
#else 
    Console.WriteLine("Version2"); 
#endif 

但我應該怎麼做,如果我有一個圖書館,並希望它以不同的編譯成不同的解決方案?

例如,我想要在solution1中定義CONDITION1,在solution2中定義#define CONDITION2,我應該怎麼做?

+1

也許[此帖](http://stackoverflow.com/questions/2355340/how-do-i-define-a-preprocessor-symbols-in-c-sharp-visual-studios)是一個選項。在項目級別(而不是解決方案級別),您可以定義一個符號,然後您可以檢查該符號是否在那裏以瞭解您所在的項目。 – Quantic

回答

0

除非您將原始C#項目分發到幾個解決方案中,否則您運氣不好。如果你要走這條路線,你可以像使用其他#define一樣使用它們。

大部分庫都是作爲預編譯源代碼發佈的,這意味着所有的#define都已經被處理了。你必須回到配置值(這正是應該如何處理這樣的行爲)。