从Word加载项C#代码中设置XML文档中的变量

时间:2015-11-20 21:38:56

标签: c# xml word-addins

我在Word加载项中使用log4net来创建日志文件。该加载项将部署到多个用户,因此需要为每个用户更改App.config文件中找到的文件夹路径。 在加载项初始化中,我调用一个获取User Profile文件夹的函数,并将其设置为app.config文件的变量(我相信)。

public void GetCurrentUser()
        {
            string user = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
            log4net.GlobalContext.Properties["UserFolder"] = user;
            log4net.Config.XmlConfigurator.Configure();
        }

我的app.config xml文件如下所示:

<log4net debug="true">
      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="%Property{user}\AppData\Local\Temp\logfile.txt" /> 
        <appendToFile value="true" />
        <rollingStyle value="Size" />
...

但是当我运行加载项时它没有写入日志。有人可以指点我正确的方向吗? 谢谢

1 个答案:

答案 0 :(得分:0)

在您的xml(不在c#中)中,尝试将user替换为UserFolder

<file type="log4net.Util.PatternString" value="%Property{UserFolder}\AppData\Local\Temp\logfile.txt" /> 

在您的代码中,您正在设置一个名为UserFolder的属性,但您的xml不包含此类引用。