Предложения по созданию приложений Silverlight и WPF с общим кодом - PullRequest
0 голосов
/ 30 июля 2009

Я создаю набор сборок, которые должны работать как в Silverlight, так и в WPF. До сих пор я использовал log4net для ведения журналов. Хотя он не совместим с Silverlight, так что теперь я столкнулся с перспективой его уничтожения, чего я не хочу делать.

Мой вопрос такой. Предполагая, что я воссоздаю сборки в виде сборок Silverlight, я могу обернуть (используя #ifdef или аналогичный) вызовы журнала. Однако, есть ли способ «условно» ссылаться на dll log4net? Я не хочу отказываться от log4net, и не хотел бы иметь две версии каждого проекта.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 30 июля 2009

Для моих общих классов кода я добавляю их в проект Silverlight, используя опцию добавления как ссылки. Я использую несколько ifdef, но стараюсь избегать их, если это возможно. Для таких вещей, как log4net, я создаю интерфейс оболочки для сборки Silverlight. Вот тот, который у меня сейчас есть для 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)
        { }
    }
}
...