У меня есть третья сторона, используя конфигурационный файл, который выглядит следующим образом:редирект log4net журналы от третьего лица
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!--Others sections-->
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value=".\logs\logclient.txt" />
<appendToFile value="false" />
<rollingStyle value="Date" />
<maximumFileSize value="1000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
</configuration>
Код в третьей партии выглядит следующим образом:
LogManager.GetRepository(Assembly.GetCallingAssembly()), configFile);
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
Я хотел бы, сторонняя dll для использования моего собственного приложения, определенного в моем собственном файле конфигурации. Как я могу это сделать?
NB:
- третья сторона должны использовать свой собственный файл конфигурации, поскольку другие секции являются обязательными, и я не могу добавить их в свой файл
- я могу изменить файл третьей стороны конфигурации, я не может изменить рудник
библиотеки DLL использовать app.config в любой EXE является их хостинг. Поэтому, если вы загружаете DLL, он использует ваш app.config. Поэтому я смущен, когда вы говорите: «третьей стороне нужно использовать собственный файл конфигурации». .NET app.configs не работают таким образом. –
На самом деле у меня есть два файла конфигурации: один app.config (используется моим кодом) и один thirdParty.dll.config (используется сторонним). Я не знаю, имеет ли значение, но файл thirdParty.dll находится не в той же папке, что и мое приложение, и оно загружается вручную и используется при отражении. – Toto
Вместо того, чтобы заставить его использовать приложение, определенное в вашей собственной конфигурации, почему бы просто не скопировать и вставить его в свою конфигурацию, а вуаля ...? – johnjps111