1

我计划使用 CacheManager ( http://cachemanager.michaco.net/ ) 并一直在尝试将其设置为与 CacheManager.Serialization.Json 一起使用。它需要 Newtonsoft.Json (>= 8.0.3)。

我已经通过 NuGet 安装了 Newtonsoft.Json 9.0.1。这是我的 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" />

并在同一个 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>

我收到错误“无法加载文件或程序集'Newtonsoft.Json,版本 = 8.0.0.0”,一旦我将 Newtonsoft.Json 替换为版本 8.0.0,它就开始工作了。绑定重定向似乎没有任何效果。任何想法。有什么问题?

4

1 回答 1

0

您写道您拥有 Json.Net 9.0.1,而您将重定向绑定到 9.0.0.0。

也许您应该将重定向修复为 9.0.1.0(我想它会尝试加载 8.0.0,然后找到绑定重定向,尝试加载最新的,但直到 9.0.0.0 都不存在)。

PS我不确定语法和放置1的位置,所以你可以尝试使用10.0.0.0,例如只是为了排除这个问题。

于 2016-11-14T10:55:31.150 回答