我编写了类库来支持使用NLog和log4net以及Common.Logging编写日志。当我使用项目进行测试时,我得到了错误Could not load file or assembly 'Common.Logging, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
FlushLog:
=== Pre-bind state information ===
LOG: DisplayName = Common.Logging, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e
(Fully-specified)
LOG: Appbase = file:///C:/Source/Hits2000/Web-Applications/WinhitsWebApi/WinhitsWebApi.ApiService/
LOG: Initial PrivatePath = C:\Source\Hits2000\Web-Applications\WinhitsWebApi\WinhitsWebApi.ApiService\bin
Calling assembly : Common.Logging.Log4Net1211, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Source\Hits2000\Web-Applications\WinhitsWebApi\WinhitsWebApi.ApiService\web.config
LOG: Using host configuration file: C:\Users\Administrator\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Common.Logging, Version=3.3.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f19f3155/f95cde26/Common.Logging.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/f19f3155/f95cde26/Common.Logging/Common.Logging.DLL.
LOG: Attempting download of new URL file:///C:/Source/Hits2000/Web-Applications/WinhitsWebApi/WinhitsWebApi.ApiService/bin/Common.Logging.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.请帮我解决这个问题
发布于 2017-08-11 18:03:35
我的.Net程序中也有类似的异常。我对一些nuget包进行了升级和降级,这让我犯了错误,还有点头疼。
我在我的App.config中更改了这个
<dependentAssembly>
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
</dependentAssembly>到这个
<dependentAssembly>
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
</dependentAssembly>由于nuget升级,版本号已更改,并且在降级期间不会恢复。
https://stackoverflow.com/questions/41804887
复制相似问题