Je souhaite utiliser une nouvelle version de log4net avec nhibernate. La version log4net est compilée par moi-même à partir de la source svn, donc j'ai dû la signer avec une nouvelle clé, ce qui signifie que publicKeyToken est changé. J'ai également mis la version à 1.2.11.0. Le problème est que nhibernate fait référence à l'ancienne version 1.2.10.0 de log4net.Utilisez une autre version d'assembly avec new publicKeyToken lorsque la librairie 3rd party dépend de l'ancienne version
J'ai essayé de configurer l'ensemble redirection de liaison avec cette partie dans app.config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net"
publicKeyToken="1b44e1d426115821"/>
<bindingRedirect oldVersion="1.2.10.0"
newVersion="1.2.11.0"/>
</dependentAssembly>
</assemblyBinding>
Cependant, il ne semble pas avoir d'effet. Je suppose que c'est parce que le publicKeyToken ne correspond pas.
Y a-t-il un autre moyen de le faire ou de le faire I: a. Utilisez log4net 1.2.10 et créez un projet d'extensions log4net avec les ajouts et les correctifs de la base de code svn qui m'intéresse? OU b. Construis ma propre version de nhibernate en utilisant ma propre version log4net OU c. Faire l'équipe de log4net libérer une nouvelle version de log4net avec le bon publicKeyToken
Je préférerais c. et honnêtement je ne peux pas comprendre pourquoi ils n'ont pas sorti une nouvelle version de build depuis des lustres, il y a beaucoup de corrections et de nouvelles fonctionnalités dans la source svn.
Oui, les auteurs utilisant de nouvelles clés pour des révisions mineures peuvent être très frustrants. – ladenedge