【问题标题】:Suggestions for building Silverlight and WPF applications with common code使用通用代码构建 Silverlight 和 WPF 应用程序的建议
【发布时间】:2009-07-30 03:06:00
【问题描述】:
我正在构建一组需要在 Silverlight 和 WPF 上工作的程序集。到目前为止,我一直在使用 log4net 来处理日志记录。虽然它与 Silverlight 不兼容,所以现在我面临着将其撕掉的前景,我不想这样做。
我的问题是这样的。假设我将程序集重新创建为 Silverlight 程序集,我可以包装(使用 #ifdef 或类似的)日志记录调用。但是,有没有办法“有条件地”引用 log4net dll?我不愿放弃 log4net,宁愿不必每个项目都有两个版本。
任何帮助将不胜感激。
【问题讨论】:
标签:
wpf
silverlight
assemblies
【解决方案1】:
对于我的常用代码类,我使用添加为链接选项将它们添加到 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)
{ }
}
}