.NET Core 项目中 StackExchange.Redis.StrongName 版本冲突问

2019-01-02 22:53发布

错误信息如下:

The type 'ConnectionMultiplexer' exists in both 'StackExchange.Redis.StrongName, Version=1.2.6.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46' and 'StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46'

请问如何解决?

1条回答
放荡不羁爱自由
2楼-- · 2019-01-02 23:20

问题的原因:同一个 VS 解决方案项目中

  • 项目 A 引用了一个 nuget 包,这个包引用了 Microsoft.Extensions.Caching.Redis ,而 Microsoft.Extensions.Caching.Redis 引用了 StackExchange.Redis.StrongName 。
  • 项目 B 引用了 StackExchange.Redis
  • 项目 A 引用了项目 B ,项目 A 中的 ConnectionMultiplexer 在 build 时报上面的错误

解决方法:将项目 B 中 PackageReference 由 StackExchange.Redis 改为 StackExchange.Redis.StrongName

<ItemGroup>
  <PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.6" />
</ItemGroup>
查看更多
登录 后发表回答