log4net compact framework 3.5 Нет app.config для добавления файловых дополнений - PullRequest
3 голосов
/ 09 июня 2009

Я занимаюсь разработкой log4net с использованием CF 3.5 VS 2008 для Windows Mobile 6.

Я уже использовал log4net в своих приложениях для Windows XP и всегда помещал конфигурацию в файл app.config.

Однако я впервые использую log4net с CF3.5. И я заметил, что нет файла app.config, и когда я пытаюсь добавить новый элемент, для него нет шаблона. Я что-то здесь упускаю?

Если 3.5 не имеет файла app.config. Где я могу разместить свою конфигурацию log4net? Я хотел бы войти в систему с помощью приложения app4 и сохранить журнал в каталоге, из которого выполняется приложение.

Большое спасибо за любые предложения,

Ответы [ 3 ]

5 голосов
/ 09 июня 2009

Компактный каркас не поддерживает файлы app.config, но вы можете эмулировать такое поведение.

Создайте xml с настройкой, а затем прочитайте содержимое этого файла.

Я нашел этот обходной путь, который работает для меня:

http://www.eggheadcafe.com/articles/dotnetcompactframework_app_config.asp

3 голосов
/ 14 июня 2009

Эта реакция немного запоздала, и, возможно, вы уже решили ее. Однако могут быть некоторые другие пользователи с такой же проблемой.

Вы также можете указать, что хотите использовать другой файл конфигурации, используя атрибут XmlConfiguratorAttribute. Смотрите здесь . Например, вы можете указать log4net-конфигурацию в log4net.config, которая находится в вашем bin-каталоге, и добавить в assemblyInfo.cs:

[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config",Watch=true)]
2 голосов
/ 09 марта 2010

Рубен, Это не сработает, потому что XmlConfiguratorAttribute недоступно из log4net для компактной платформы.

Вместо этого вы можете использовать XmlConfigurator.Configure("filename.config"), заменив filename.config на путь к вашему файлу конфигурации log4net.

Я поместил это в основной класс программы Windows-приложения в моем мобильном приложении.

Объятия:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...