2016-11-14 1 views
1

Je prévois d'utiliser CacheManager (http://cachemanager.michaco.net/) et j'ai essayé de le configurer pour fonctionner avec CacheManager.Serialization. Json. Il nécessite Newtonsoft.Json (> = 8.0.3).CacheManager.Serialization.Json "Impossible de charger le fichier ou l'assemblage 'Newtonsoft.Json, Version = 8.0.0.0"

J'ai installé Newtonsoft.Json 9.0.1 via NuGet. Ceci est un extrait de mon web.config

<cache name="redisWithBackplane" updateMode="Up" enableStatistics="false" 
     enablePerformanceCounters="false" backplaneName="localRedis" backplaneType="CacheManager.Redis.RedisCacheBackplane, CacheManager.StackExchange.Redis" 
     serializerType="CacheManager.Serialization.Json.JsonCacheSerializer, CacheManager.Serialization.Json"> 
<handle name="localRedis" ref="redisHandle" expirationMode="None" timeout="50s" isBackplaneSource="true" /> 

et redirection de liaison dans le même web.config

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> 
    </dependentAssembly> 
</assemblyBinding> 

Je reçois l'erreur « Impossible de charger le fichier ou l'assembly « Newtonsoft. Json, Version = 8.0.0.0 "et une fois que je remplace Newtonsoft.Json à la version 8.0.0, il a commencé à fonctionner. La redirection de liaison ne semble pas avoir d'effet. Une idée. Quel pourrait être le problème?

+0

Argh. Le problème était la balise racine . Je l'avais comme pour inheritInChildApplications. Une fois que je l'ai changé pour juste cela a fonctionné. Bien que VS2010 se plaignait d'invalide inheritInChildApplications il fonctionne encore –

+0

Cool, était déjà à la recherche et ne pouvait pas le reproduire ^^ – MichaC

Répondre

0

Vous avez écrit que vous avez Json.Net 9.0.1, alors que vous liez la redirection vers 9.0.0.0. Peut-être que vous devriez corriger la redirection vers 9.0.1.0 (je suppose qu'il essaie de charger 8.0.0, puis trouver la redirection de liaison, essaie de charger la dernière version, mais aucune n'existe jusqu'à 9.0.0.0).

P.S. Je ne suis pas sûr de la syntaxe et où mettre 1, donc vous pouvez essayer avec 10.0.0.0 par exemple. juste pour exclure ce problème.

+0

version d'assemblage de 9.0.1 est toujours 9.0.0.0, donc non, la redirection est totalement bien – MichaC

+0

Vous pouvez vérifier ce fil aussi bien: http://stackoverflow.com/questions/22507189/could-not-load-file-or-assembly-newtonsoft-json-version-4-5-0-0-culture-neutr. Selon la deuxième réponse, par ex. la redirection de liaison peut être ignorée si vous avez un espace de noms sur la configuration, par exemple. –