Tengo un sitio web que lanza de forma esporádica el siguiente error:DLL de error de versiones
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)
Ahora sé que tengo una dependencia de esta DLL, pero tengo la versión 0.85.5 en mi sistema . He eliminado sistemáticamente cada versión anterior de la DLL del servidor, recompité todo y volví a publicar. Pero no importa lo que haga, parece que después de cada publicación, la primera o dos veces que alguien visita el sitio, obtienen este error. Luego, después de actualizar una o dos veces, el error desaparece y el sitio funciona normalmente.
Lo que lo hace aún más raro es que si miro la línea de código en la que se lanza el error:
URLRewriter.ProcessRewritingResult(status, excludedEnum, siteName, viewMode, relativePath);
URLRewriter
es una clase de un paquete del partido tercero (Kentico CMS - CMS.URLRewritingEngine.dll) . Ejecuté Dependency Walker en esa DLL y no encontré dependencias de ningún tipo en ICSharpCode.SharpZipLib.
¿Alguna idea de cómo solucionar esto?
EDIT: En la sugerencia de @ JeremyThompson, ejecuté Process Monitor para detectar el error. Aquí hay un volcado de pantalla, con piezas relevantes resaltadas (y un nombre de carpeta oscurecido por razones de privacidad). También se puede ver a tamaño completo haciendo clic derecho sobre el mismo, etc ...
EDIT: Aquí un rastro de carga del error. ¿Esto ayuda?
=== 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.
Hola-sual, esto sólo para hacer ping al equipo Kentico, he tratado con ellos en el pasado y son los mejores tíos. Estoy seguro de que echarán un vistazo a esto ahora es en un foro público. Este tipo: @PetrPalas (http://stackoverflow.com/users/1430236/petr-palas), él es realmente agradable. –