2012-07-26 322 views
6

Recibo el error adjunto, desde que puse la última versión de log4net (1.2.11.0) en mis proyectos de solución. Esto ocurre en el servidor justo después de la implementación, y cuando lo actualizo nuevamente, simplemente desaparece hasta la próxima implementación. Tenga en cuenta que he probado el siguiente código de redirección versión, pero no sirvió de nada:error de referencia de log4net extraño en la carga inicial después de la implementación

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" /> 
     <bindingRedirect oldVersion="1.2.10.0" newVersion="1.2.11.0" /> 
    </dependentAssembly> 
</assemblyBinding> 

Este es el error que estoy recibiendo:

Error de servidor en la aplicación '/'.

No se pudo cargar el archivo o ensamblado 'log4net, Version = 1.2.10.0, Culture = neutral, PublicKeyToken = 1b44e1d426115821' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040)

Detalles de excepción: System.IO.FileLoadException: No se pudo cargar el archivo o ensamblado 'log4net, Version = 1.2.10.0, Culture = neutral, PublicKeyToken = 1b44e1d426115821' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040)

Error de origen:

Line 76:  </script> 
Line 77:  <form id="form1" runat="server"> 
Line 78:  <asp:ScriptManager ID="radscriptmanager" runat="server"> 
Line 79:  </asp:ScriptManager> 
Line 80:  <asp:ContentPlaceHolder ID="cphAfterScriptManager" runat="server"> 

Archivo de origen: MainFront.Master Línea: 78

Asamblea Cargar Trace: La siguiente información puede ser útil para determinar por qué el montaje " log4net, Version = 1.2.10.0, Culture = neutral, PublicKeyToken = 1b44e1d426115821 'no se pudo cargar.

Respuesta

10

Sospecho que la razón de esto podría ser que tiene dependencias en 1.2.10 en su aplicación y la nueva versión que ha instalado de log4net no es compatible debido a la nueva clave de firma.

1.2.11 notará que ha sido firmado con una clave diferente que ha causado dolor a muchas personas. Terminé volviendo a 1.2.10.

Sin embargo, hay una versión de 1.2.11 que se ha llevado a cabo con la tecla anterior. Simplemente descargue eso y haga lo siguiente y todo debería estar bien.

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-1.2.10.0" 
          newVersion="1.2.11.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

, usted puede obtener la clave nueva y vieja de la siguiente URL: http://logging.apache.org/log4net/download_log4net.cgi

+0

He intentado usar mi clave pública (1b44e1d426115821) con la versión antigua y la nueva versión y todavía me sale este error. – Sagi

+1

Supongo que realmente ha descargado los diferentes ensamblajes en lugar de solo cambiar la clave de configuración. Por muy tonto que parezca, ¿la referencia al ensamblaje log4net existe dentro de su directorio bin? Me hace pensar si se ha configurado para copiar siempre. – Ryan

Cuestiones relacionadas