2009-07-30 82 views
0

我構建了一組需要在Silverlight和WPF上工作的程序集。到目前爲止,我一直在使用log4net來處理日誌記錄。雖然它與Silverlight不兼容,但現在我正面臨着將其剔除出去的前景,我不想這麼做。使用公共代碼構建Silverlight和WPF應用程序的建議

我的問題是這樣的。假設我將這些程序集重新創建爲Silverlight程序集,我可以使用#ifdef或類似的方法來包裝日誌記錄調用。但是,有沒有辦法'有條件'引用log4net DLL?我不願放棄log4net,而寧願不必每個項目都有兩個版本。

任何幫助,將不勝感激。

回答

0

對於我的通用代碼類,我使用add as link選項將它們添加到Silverlight項目中。我確實使用了一些ifdefs,但如果可能的話,儘量避免使用它們。對於像log4net這樣的東西,我爲Silverlight程序集創建了一個「shell」界面。以下是我目前用於log4net的一個。

namespace log4net 
{ 
    public class ILog 
    { 
     public void Debug(string message) 
     { } 

     public void Error(string message) 
     { } 

     public void Info(string message) 
     { } 

     public oid Warn(string message) 
     { } 
    } 
} 
相關問題