2012-07-26 2 views
6

Je reçois l'erreur jointe, depuis que j'ai mis la dernière version de log4net (1.2.11.0) sur mes projets de solution. Cela se produit sur le serveur juste après le déploiement et lorsque je l'actualise à nouveau, il disparaît juste jusqu'au déploiement suivant. S'il vous plaît noter que j'ai essayé le code de redirection de version suivante, mais il n'a pas aidé:erreur de référence log4net bizarre sur la charge initiale après le déploiement

<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> 

C'est l'erreur que je reçois:

Erreur du serveur dans l'application '/'.

Impossible de charger le fichier ou l'assemblage 'log4net, Version = 1.2.10.0, Culture = neutre, PublicKeyToken = 1b44e1d426115821' ou l'une de ses dépendances. La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)

Détails d'exception: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'log4net, Version = 1.2.10.0, Culture = neutre, PublicKeyToken = 1b44e1d426115821' ou l'une de ses dépendances. La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040)

Source Erreur:

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"> 

Fichier source: MainFront.Master Ligne: 78

Assemblée Trace de charge: Les informations suivantes peuvent être utiles pour déterminer pourquoi l'ensemble ' log4net, Version = 1.2.10.0, Culture = neutral, PublicKeyToken = 1b44e1d426115821 'n'a pas pu être chargé.

Répondre

10

Je suppose que la raison de ceci pourrait être que vous avez des dépendances sur 1.2.10 dans votre application et la nouvelle version que vous avez installée de log4net n'est pas compatible en raison de la nouvelle clé de signature. 1.2.11 vous remarquerez a été signé avec une clé différente qui a causé de la douleur pour beaucoup de gens. J'ai fini par revenir à 1.2.10.

Cependant, il existe une version de 1.2.11 qui a continué avec la clé précédente. Il suffit de télécharger cela et de faire ce qui suit et tout devrait bien se passer.

<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> 

Vous pouvez obtenir la nouvelle et ancienne clé de l'adresse suivante: http://logging.apache.org/log4net/download_log4net.cgi

+0

J'ai essayé d'utiliser ma clé publique (1b44e1d426115821) avec la version ancienne et la nouvelle version et encore j'obtenir cette erreur. – Sagi

+1

Je suppose que vous avez effectivement téléchargé les différents assemblages au lieu de simplement changer la clé de configuration? Aussi bête que cela puisse paraître, la référence à l'assembly log4net existe-t-elle dans votre répertoire bin? Ça me fait penser si c'est prêt à copier toujours. – Ryan

Questions connexes