Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net log4net在客户端pc中不工作_Vb.net_Vsto_Log4net - Fatal编程技术网

Vb.net log4net在客户端pc中不工作

Vb.net log4net在客户端pc中不工作,vb.net,vsto,log4net,Vb.net,Vsto,Log4net,我对log4net有个问题,它在客户端pc上不工作,但在我的开发pc上它可以创建并写入日志文件 我的VSTO加载项使用log4net(使用NuGet安装的log4net包)。因此,在我的外接程序功能区代码中,我添加了以下代码: Ribbon.vb <Assembly: log4net.Config.XmlConfigurator(Watch:=True)> <Runtime.InteropServices.ComVisible(True)> _ Public Clas

我对log4net有个问题,它在客户端pc上不工作,但在我的开发pc上它可以创建并写入日志文件

我的VSTO加载项使用log4net(使用NuGet安装的log4net包)。因此,在我的外接程序功能区代码中,我添加了以下代码:

Ribbon.vb

<Assembly: log4net.Config.XmlConfigurator(Watch:=True)> 

<Runtime.InteropServices.ComVisible(True)> _
Public Class WordRibbon
Implements Office.IRibbonExtensibility

Private ribbon As Office.IRibbonUI
Private Shared ReadOnly log As log4net.ILog = log4net.LogManager.GetLogger(
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

......

_
公共类WordRibbon
实现Office.IRibbonExtensibility
作为Office.IRibbonUI的私有ribbon
私有共享只读日志为log4net.ILog=log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
......
app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
    <section name="log4net"   type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
</configSections>
<log4net>
    <root>
        <level value="ALL"/>
        <appender-ref ref="RollingFileAppender"/>
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file type="log4net.Util.PatternString" value="%envFolderPath{MyDocuments}\MyApp\AddInLog\WordAddin-log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="5" />
        <maximumFileSize value="5MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
        </layout>
    </appender>
</log4net>

当我在我的开发PC中运行MS Word时(从Visual Studio 2013进行调试或直接运行MS Word),log4net将能够在MyDocuments文件夹中创建日志文件


但是当我在干净的虚拟机中运行外接程序时,没有创建任何日志文件。没有提示错误。我在这里遗漏了什么吗?

我在链接中发现了问题

不同的是,在我的情况下,外接程序可以正确加载,并且工作正常。它只是log4net不知怎么的不起作用

之前: 在外接程序注册表中,清单值类似于

Manifest=“C:\Program Files\MyApp\WordAddIn.vsto | vstolocal”

之后: 在博客中,作者建议进行以下修改

清单=”file:///C:/Program 文件/MyApp/WordAddIn.vsto | vstolocal“

我认为这就是为什么log4net可以在我的开发pc中工作的原因,因为VisualStudio对清单值使用相同的URI格式

但对于我的情况,我尝试了下面的方法,它也可以工作

Manifest=“C:\Program Files\MyApp/WordAddIn.vsto | vstolocal”

我之所以使用此URI,是因为在我的应用程序中,在安装过程中,将根据用户选择创建加载项注册表值路径。如果我想将其更改为file://,这将涉及几个不同的文件(不仅仅是加载项),因此现在这是我的解决方案。
我不确定使用这种格式是否会导致任何问题。

在WordRibbon课程开始之前,你在哪里初始化log4net?@stuartd。我不知道你是谁,我不知道你在哪里,但如果我找到你,我会给你买啤酒!