У меня есть веб-сайт, который время от времени выдает следующую ошибку:
Server Error in '/' Application.
Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.85.3.365, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Теперь я знаю, что у меня есть зависимость от этой DLL, но в моей системе установлена версия 0.85.5. Я систематически удалял каждую старую версию DLL с сервера, перекомпилировал все и переиздал. Но что бы я ни делал, кажется, что после каждой перепубликации, первых одного или двух раз, когда кто-то посещает сайт, они получают эту ошибку. Затем после обновления один или два раза ошибка исчезает, и сайт работает как обычно.
Что делает его еще более странным, так это то, что я смотрю на строку кода, где выдается ошибка:
URLRewriter.ProcessRewritingResult(status, excludedEnum, siteName, viewMode, relativePath);
URLRewriter
это класс из стороннего пакета(Кентико CMS-CMS.URLRewritingEngine.dll ). Я запустил Dependency Walker в этой DLL и не обнаружил никаких зависимостей от ICSharpCode.SharpZipLib.
Любые идеи, как это исправить?
РЕДАКТИРОВАТЬ:По предложению @JeremyThompson я запустил Process Monitor, чтобы отловить ошибку. Вот дамп экрана с выделенными соответствующими частями (и именем одной папки, скрытым из соображений конфиденциальности ). Вы можете просмотреть его в полном размере, щелкнув правой кнопкой мыши -и т. д.
РЕДАКТИРОВАТЬ:Вот трассировка загрузки из ошибки. Это помогает?
=== Pre-bind state information ===
LOG: User = MY-SERVER-12\Administrator
LOG: DisplayName = ICSharpCode.SharpZipLib, Version=0.85.3.365, Culture=neutral, PublicKeyToken=1b03e6acf1164f73 (Fully-specified)
LOG: Appbase = file:///C:/inetpub/wwwroot/MySite/
LOG: Initial PrivatePath = C:\inetpub\wwwroot\MySite\bin
Calling assembly : CMS.WebAnalytics, Version=6.0.4377.2467, Culture=neutral, PublicKeyToken=834b12a258f213f9.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\inetpub\wwwroot\MySite\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: ICSharpCode.SharpZipLib, Version=0.85.3.365, Culture=neutral, PublicKeyToken=1b03e6acf1164f73
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib.EXE.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/MySite/bin/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.EXE.