C# 为什么我会犯这个错误?企业库4.1.0.0异常处理日志跟踪

C# 为什么我会犯这个错误?企业库4.1.0.0异常处理日志跟踪,c#,vsto,enterprise-library,C#,Vsto,Enterprise Library,我们正在使用Microsoft Enterprise Library 4.1.0.0 i记录和跟踪我们的应用程序。在一种情况下,我得到的错误如下: 为exceptionHandling创建配置节处理程序时出错:找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x8013100)。(C:\Program Files\Datastream\Datastream图表加载项\Office2007\Thomson.Reuters.Datastream.Charting.ICAddInCo

我们正在使用Microsoft Enterprise Library 4.1.0.0 i记录和跟踪我们的应用程序。在一种情况下,我得到的错误如下:

为exceptionHandling创建配置节处理程序时出错:找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x8013100)。(C:\Program Files\Datastream\Datastream图表加载项\Office2007\Thomson.Reuters.Datastream.Charting.ICAddInCore.dll.config第4行)

下面是ICAddInCore.dll.config的第四行:

<section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=4.1.0.0, Culture=neutral, PublicKeyToken=8ef321d56661a4cd" />

能帮忙吗


谢谢…

它试图加载的DLL版本与配置中的版本不匹配。

您的PublicKeyToken似乎不正确。Microsoft提供的企业库PublicKeyToken是31bf3856ad364e35

您是自己构建和签署企业库,还是使用不同版本的配置工具?或者可能是复制粘贴错误

如果您使用的是现成的企业库,您的配置应该是:

    <section name="exceptionHandling" 
      type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 
      Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />



如果您认为您确实应该使用PublicKeyToken=8ef321d56661a4cd,那么您的项目可能引用的是Microsoft签署的Enterprise Library版本,因此您应该修复该引用。

有时问题并不完全在错误消息显示的位置。我多次遇到这个错误,我仍然不知道上次是如何解决的。我认为我在重新启动VS.之后进行了一次干净的构建。

显然不是,这就是例外情况所说的,当我说版本时,我的意思是完全限定的名称不同。最有可能的解释是,它加载的dll与您认为的不同。u plz能否告诉您如何确定正在加载并在配置中的程序集的完全限定名?当我将当前的项目配置文件加载到企业库配置时,我遇到了一些问题中的错误。当我在配置文件中将公共令牌密钥从8ef321d56661a4cd更改为31bf3856ad364e35时,我没有收到任何错误。当我们尝试从web导出图表并单击按钮调整dll时,会出现上述错误。如何修复dll引用?我已经在dll Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll上运行了sn-t命令。获取此消息:未能将密钥转换为令牌--程序集“(null)”的公钥无效。