我在ASP.NET Web应用程序中使用Enterprise Library Exception处理块。我昨天刚刚在工作中使用这个应用程序(非VPN),一切正常。我今天在家工作,一旦我将表格认证到应用程序中,我就会收到此错误:
出错创建exceptionHandling配置节处理程序:无法加载文件或程序集Microsoft.Practices.EnterpriseLibrary.ExceptionHandling,版本= 4.1.0.0,文化=中性公钥= 31bf3856ad364e35'或一种其依赖。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)(C:\ Projects \ ThesaurusSME \ ThesaurusSME \ web.config第5行)
此错误在 c:\ EntLib41Src \ Blocks \ Common \ Src \ Configuration \ SystemConfigurationSourceImplementation.cs 中命中,方法如下:
public override ConfigurationSection GetSection(string sectionName)
{
ConfigurationSection configurationSection = ConfigurationManager.GetSection(sectionName) as ConfigurationSection;
SetConfigurationWatchers(sectionName, configurationSection);
return configurationSection;
}
我检查了bin文件夹中的所有文件,并且都是4.1.0.0。
<configSections>
<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, 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"/>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
引用这些部分的web.config的所有其他部分也显示4.1.0.0。
如果有帮助,InnerException / FusionLog会说:
“===预绑定状态信息=== DisplayName = Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 版本= 4.1.0.0,文化=中立, 公钥= 31bf3856ad364e35 \ n (完全指定)LOG:Appbase = 文件:/// C:/项目/ ThesaurusSME / ThesaurusSME / 日志:初始PrivatePath = C:\项目\ ThesaurusSME \ ThesaurusSME \ BIN 调用程序集:(未知)。 ===日志:此绑定在默认加载上下文中启动。日志:使用应用程序 配置文件: C:\项目\ ThesaurusSME \ ThesaurusSME \的web.config 日志:使用机器配置文件 从 C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ CONFIG \ machine.config中。 日志:政策后参考: Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 版本= 4.1.0.0,文化=中立, 公钥= 31bf3856ad364e35 \ r \ n日志: 试图下载新的URL 文件:/// C:/用户/ heckacr1 /应用程序数据/本地/温度/临时 ASP.NET 文件/根/ ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL。 日志:尝试下载新网址 文件:/// C:/用户/ heckacr1 /应用程序数据/本地/温度/临时 ASP.NET 文件/根/ ac718580 / 56b7f71 / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling / Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL。 日志:尝试下载新网址 文件:/// C:/Projects/ThesaurusSME/ThesaurusSME/bin/Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.DLL。 警告:比较程序集名称导致不匹配:PUBLIC KEY TOKEN ERR:无法完成设置 汇编(hr = 0x80131040)。探测 终止。“
为什么只有当我离开有线内联网并进行VPN连接时才会发生这种情况?