Настройка Log4NET перезаписывается задачей AssemblyInfo - PullRequest
1 голос
/ 07 апреля 2009

У меня есть проект, который использует log4net и прекрасно работает на машинах разработчика. Когда мы собираем, шаг в наших скриптах сборки вызывает задачу AssemblyInfo для установки номеров версий и дат и т. Д. Но файл AssemblyInfo также теряет строку:

[сборка: XmlConfigurator (Watch = true)]

Есть ли способ, чтобы задача AssemblyInfo не перезаписывала эту строку или, наоборот, чтобы задача AssemblyInfo повторно вставляла эту строку в файл (вместе с соответствующим оператором using?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2009

Вы можете поместить строку log4net [assembly: ...] в любой файл, который будет скомпилирован в сборку. Много раз мы просто помещаем его в файл .cs с методом main, и он работает просто отлично.

1 голос
/ 07 апреля 2009

Ну, немного по-другому, вам не нужно иметь только один файл информации о сборке.

Вот как мы это делаем для решения, каждый проект имеет 3 файла информации о сборке:

  1. AssemblyInfo.cs - содержит Guid, AssemblyTitle, AssemblyDescription и любые атрибуты, специфичные для сборки.

  2. ProductAssemblyInfo.cs - содержит AssemblyProduct, AssemblyVersion и AssemblyFileVersion. Таким образом, все сборки в продукте / решении используют одну и ту же версию.

  3. CompanyAssemblyInfo.cs - содержит AssemblyCompany, AssemblyCopyright и любые атрибуты, которые мы хотим предоставить всем нашим сборкам.

На элементы 2 и 3 ссылаются, используя «Добавить как ссылку», таким образом, они совместно используются из единого исходного кода. Теперь вы, возможно, не захотите применять тот же подход, но вы наверняка могли бы использовать аналогичную структуру и поместить свой XmlConfigurator в отдельный файл информации о сборке из сведений о версии вашей сборки.

...