common.logging - 在应用程序配置文件中找到重定向

时间:2012-09-28 16:31:29

标签: c# logging nuget log4net common.logging

我通过nuget将common.logging.log4net添加到我的visual studio 2012解决方案中。

common.logging.log4net ver。 - 2.0.1 common.logging ver。 - 2.0.0 log4net - ver。 1.2.10

当我在本地构建/运行它时,我通过浏览器看到以下异常:

  

无法加载文件或程序集' Common.Logging'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。 (HRESULT异常:0x80131040)   描述:执行期间发生未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.IO.FileLoadException:无法加载文件或   汇编' Common.Logging'或其中一个依赖项。位于   程序集的清单定义与程序集引用不匹配。   (HRESULT异常:0x80131040)

     

堆栈追踪:

     

[FileLoadException:无法加载文件或程序集' Common.Logging'   或其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)]

     

[FileLoadException:无法加载文件或程序集' Common.Logging,   Version = 2.1.1.0,Culture = neutral,PublicKeyToken = af08829b84f0328e'要么   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)] System.Reflection.RuntimeAssembly._nLoad(AssemblyName   fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly   locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,   Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)+0
  System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName   assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,   StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean   throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)+210
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,   证据集合安全,StackCrawlMark& stackMark,IntPtr   pPrivHostBinder,Boolean forIntrospection)+242
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,   证据集合安全,StackCrawlMark& stackMark,布尔   forIntrospection)+17 System.Reflection.Assembly.Load(String   assemblyString)+35
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串   assemblyName,Boolean starDirective)+122

正在寻找Common.Logging Version = 2.1.1.0,它无法找到,因为它没有被加载。现在,当我调试应用程序时,我看到以下异常,这有点不同:

  

日志:此绑定在默认加载上下文中启动。

     

日志:使用应用程序配置文件:   C:\工作区\ FTM \ APPS \ TM \ TM.Web \ web.config中

     

日志:使用主机配置文件:   C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet.config

     

日志:使用来自的机器配置文件   C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ CONFIG \ machine.config中

。      

日志:此时政策未应用于参考(私人,   自定义,部分或基于位置的程序集绑定)。

     

日志:尝试下载新网址   文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary   ASP.NET Files / root / e97e0952 / 56ab271f / Common.Logging.DLL。

     

日志:尝试下载新网址   文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary   ASP.NET   文件/根/ e97e0952 / 56ab271f / Common.Logging / Common.Logging.DLL。

     

日志:尝试下载新网址   文件:/// C:/Workspaces/FTM/Apps/TM/TM.Web/bin/Common.Logging.DLL

     

日志:使用应用程序配置文件:   C:\工作区\ FTM \ APPS \ TM \ TM.Web \ web.config中

     

日志:使用主机配置文件:   C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet.config

     

日志:使用来自的机器配置文件   C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ CONFIG \ machine.config中

。      

日志:在应用程序配置文件中找到重定向:2.0.0.0   重定向到2.1.1.0。

     

日志:政策后参考:Common.Logging,版本= 2.1.1.0,   Culture = neutral,PublicKeyToken = af08829b84f0328e

     

日志:尝试下载新网址   文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary   ASP.NET Files / root / e97e0952 / 56ab271f / Common.Logging.DLL。

     

日志:尝试下载新网址   文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary   ASP.NET   文件/根/ e97e0952 / 56ab271f / Common.Logging / Common.Logging.DLL。

     

日志:尝试下载新网址   文件:/// C:/Workspaces/FTM/Apps/TM/TM.Web/bin/Common.Logging.DLL。警告:   比较程序集名称导致不匹配:次要版本   错误:无法完成程序集的设置(hr = 0x80131040)。探测   终止。

     

堆栈追踪:

     

[FileLoadException:无法加载文件或程序集' Common.Logging'   或其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)]

     

[FileLoadException:无法加载文件或程序集' Common.Logging,   Version = 2.1.1.0,Culture = neutral,PublicKeyToken = af08829b84f0328e'要么   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)] System.Reflection.RuntimeAssembly._nLoad(AssemblyName   fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly   locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,   Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)+0
  System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName   assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,   StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean   throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)+210
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,   证据集合安全,StackCrawlMark& stackMark,IntPtr   pPrivHostBinder,Boolean forIntrospection)+242
  System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,   证据集合安全,StackCrawlMark& stackMark,布尔   forIntrospection)+17 System.Reflection.Assembly.Load(String   assemblyString)+35
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串   assemblyName,Boolean starDirective)+122

     

[ConfigurationErrorsException:无法加载文件或程序集   ' Common.Logging,Version = 2.1.1.0,Culture = neutral,   公钥= af08829b84f0328e'或其中一个依赖项。该   定位程序集的清单定义与程序集不匹配   参考。 (HRESULT异常:0x80131040)]
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串   assemblyName,布尔starDirective)+12761078
  System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()   +503 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()+ 142 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection   compConfig)+334
  System.Web.Compilation.BuildManager.CallPreStartInitMethods(字符串   preStartInitListPath)+203
  System.Web.Compilation.BuildManager.ExecutePreAppStart()+152
  System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager   appManager,IApplicationHost appHost,IConfigMapPathFactory   configMapPathFactory,HostingEnvironmentParameters hostingParameters,   PolicyLevel policyLevel,Exception appDomainCreationException)+1151

     

[HttpException(0x80004005):无法加载文件或程序集   ' Common.Logging,Version = 2.1.1.0,Culture = neutral,   公钥= af08829b84f0328e'或其中一个依赖项。该   定位程序集的清单定义与程序集不匹配   参考。 (HRESULT异常:0x80131040)]
  System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+12881540   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)   +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest)   wr,HttpContext context)+12722601

     

版本信息:Microsoft .NET Framework版本:4.0.30319;   ASP.NET版本:4.0.30319.17929

不确定为什么要尝试重定向到2.1.1.0(根据日志)

汤姆

1 个答案:

答案 0 :(得分:3)

这一行我认为暗示了这个问题:

LOG: Redirect found in application configuration file: 2.0.0.0 redirected to 2.1.1.0.

检查应用程序配置文件(app.config)是否有任何组件重定向,告诉它在请求版本2.0.0.0的任何时候尝试加载版本2.1.1.0。