2009-07-30 28 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) 
     { } 
    } 
} 
相关问题