2016-11-14 1 views
1

Ich plane die Verwendung von CacheManager (http://cachemanager.michaco.net/) und habe versucht, es so einzustellen, dass es mit CacheManager.Serialization funktioniert. Json. Es erfordert Newtonsoft.Json (> = 8.0.3).CacheManager.Serialization.Json "Datei oder Assembly konnte nicht geladen werden" Newtonsoft.Json, Version = 8.0.0.0 "

Ich habe Newtonsoft.Json 9.0.1 über NuGet installiert. Dies ist Auszug meiner 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" /> 

und Bindung in der gleichen web.config umleiten

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

Ich erhalte Fehler „Konnte nicht Datei oder Assembly‚Newtonsoft laden. Json, Version = 8.0.0.0 "und sobald ich Newtonsoft.Json auf Version 8.0.0 ersetze, hat es angefangen zu arbeiten. Die verbindliche Umleitung scheint keine Wirkung zu haben. Irgendeine Idee. Was könnte falsch sein?

+0

Argh. Das Problem war das Root-Tag . Ich hatte es als für inheritInChildApplications. Sobald ich es auf geändert habe, hat es funktioniert. Obwohl VS2010 beschwert über ungültige inheritInChildApplications funktioniert es immer noch –

+0

Cool, war schon in der Suche und konnte es nicht reproduzieren ^^ – MichaC

Antwort

0

Sie haben geschrieben, dass Sie Json.Net 9.0.1 haben, während Sie verbindliche Umleitung zu 9.0.0.0 ist.

Vielleicht sollten Sie die Umleitung auf 9.0.1.0 beheben (ich nehme an, es versucht, 8.0.0 zu laden, dann die verbindliche Umleitung zu finden, versucht, die neueste zu laden, aber keine bis 9.0.0.0 existieren).

P.S. Ich bin mir nicht sicher über die Syntax und wo 1 zu setzen, so dass Sie mit 10.0.0.0 z. nur um dieses Problem auszuschließen.

+0

Assembly-Version von 9.0.1 ist immer noch 9.0.0.0, also nein, die Umleitung ist völlig in Ordnung – MichaC

+0

Sie können überprüfen Dieser Thread auch: http://StackOverflow.com/Questions/22507189/Could-NotLoad-File-oder-Assembly-Newtonsoft-Json-version-4-5-0-0-Culture-neutr. Gemäß der zweiten Antwort, z.B. Die Bindungsumleitung kann ignoriert werden, wenn Sie einen Namespace in der Konfiguration z. –

Verwandte Themen