C# 在VSTO中配置log4net

C# 在VSTO中配置log4net,c#,excel,vsto,log4net,app-config,C#,Excel,Vsto,Log4net,App Config,我已将VSTO Excel加载项设置为使用log4net进行日志记录。不幸的是,我(似乎)无法让它通过app.config(我通过ClickOnce与外接程序一起提供)进行自我配置 我已经阅读了其中列出了一些获取app.config文件名的方法,然后使用 log4net.Config.XmlConfigurator.Configure(fileInfo) 然而,这个博客列表中的方法对我来说似乎非常容易出错(它们“闻起来很难闻”) 诸如此类 ConfigurationManager.GetSec

我已将VSTO Excel加载项设置为使用log4net进行日志记录。不幸的是,我(似乎)无法让它通过app.config(我通过ClickOnce与外接程序一起提供)进行自我配置

我已经阅读了其中列出了一些获取app.config文件名的方法,然后使用

log4net.Config.XmlConfigurator.Configure(fileInfo)
然而,这个博客列表中的方法对我来说似乎非常容易出错(它们“闻起来很难闻”)

诸如此类

ConfigurationManager.GetSection
让我相信.NET framework确切地知道从何处获取文件,并且必须有一种方法从框架中检索这些信息,而不必自己去弄清楚。但是,
XmlConfigurator
反过来只接受文件名、流或xml节点


(为什么我认为它目前不起作用:我已将其配置为使用文件名为H:\Data\Debug.log的RollingFileAppender,但在
GetLogger(…).Debug(…)
之后,仍然没有安装Debug.log…)。我在其他地方成功地使用了完全相同的配置。

XmlConfigurator.Configure()使用app.config文件。这应该是可行的,因为ConfigurationManager似乎能够读取配置文件。

引用的博客声明:“…但不幸的是,由于您的VSTO加载项是一个DLL,默认情况下,log4net将查看当前的app.config文件,例如,如果您在Word中运行,则该文件将是WinWord.exe所在文件夹中的WinWord.exe.config。“-我希望它使用我通过ClickOnce交付的app.config…我错了!这个资源似乎完全错了??我已经将您的代码行添加到我的加载项启动方法中,现在它可以正常工作了!(如果可能的话,我很想否决我自己的问题……)