使用通用代码构建Silverlight和WPF应用程序的建议

时间:2009-07-30 03:06:00

标签: wpf silverlight assemblies

我正在构建一组需要在Silverlight和WPF上工作的程序集。到目前为止,我一直在使用log4net来处理日志记录。虽然它与Silverlight不兼容,所以现在我面临着将其剥离的前景,我不想这样做。

我的问题是这个。假设我将程序集重新创建为Silverlight程序集,我可以使用#ifdef或类似程序包装日志记录调用。但是,有没有办法“有条件地”引用log4net dll?我不愿意放弃log4net,而不是每个项目都有两个版本。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于我的公共代码类,我使用add as link选项将它们添加到Silverlight项目中。我确实使用了一些ifdef,但如果可能的话,尽量让它们保持一致。对于像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)
        { }
    }
}