Определение манифеста расположенной сборки не соответствует ссылке на сборку, в частности ASP.NET с#
ДОРОГИЕ ВСЕ,
Я создал новый проект, в который я добавил другие недавние проекты.
И я установил пакет NuGet "Log4Net". Который также используется в других добавленных проектах, где он выдает ошибку компиляции.
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IO.FileLoadException: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Source Error: Line 122: } Line 123: } Line 124: } Line 125: Line 126: #endregion Source File: C:\TETEC\Development\TeTec.Utility\LogHelper\LogHelper.cs Line: 124 Assembly Load Trace: The following information can be helpful to determine why the assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' could not be loaded. WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. Stack Trace: [FileLoadException: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] [FileLoadException: Could not load file or assembly 'log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] TeTec.Utility.LogHelper.LogHelper.Log(Logger logger, LogLevel level, String message, Exception exception) in C:\TETEC\Development\TeTec.Utility\LogHelper\LogHelper.cs:124 TeTec.Utility.LogHelper.LogHelper.Log(Logger logger, LogLevel level, String message) in C:\TETEC\Development\TeTec.Utility\LogHelper\LogHelper.cs:62 Module.TeTecHttpModule.InternalInit() in c:\TETEC\Development\TeTec.Online.ExamWebsite\App_Code\Module\TeTecHttpModule.cs:31 Module.TeTecHttpModule.Init(HttpApplication context) in c:\TETEC\Development\TeTec.Online.ExamWebsite\App_Code\Module\TeTecHttpModule.cs:61 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +536 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +173 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 [HttpException (0x80004005): Could not load file or assembly 'log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +10085804 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +95 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
Что я уже пробовал:
Итак, в web.config я добавил эти строки.
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" /> <bindingRedirect oldVersion="1.2.10.0" newVersion="2.0.8.0"/> </dependentAssembly> </assemblyBinding> </runtime>
Кто-нибудь может пожалуйста помочь мне.
Заранее спасибо.
F-ES Sitecore
Находится ли сборка log4net в папке bin? Если да, то что это за версия?
BulletVictim
Довольно просто, вам нужно будет обновить пакет Log4Net в ранее скомпилированных решениях, которые вы добавили в новое решение.
В качестве альтернативы просто обратитесь к библиотеке DLL Log4Net из расположения пакетов в одном из предыдущих решений. Возможно, у вас нет функциональности Nuget, но она должна решить вашу проблему.