datastax c#driver.build()抛出system.io.fileloadexception

8ulbf1ek  于 2021-06-09  发布在  Cassandra
关注(0)|答案(2)|浏览(434)

看起来我有一个绑定重定向问题,我不知道如何解决。
什么时候 .Build() 调用时,我得到以下异常:

[2020-10-09 14:09:28.806] [                              :001] [ERROR] [DatabaseClient                ] Failed to connect to Cassandra Database...
System.IO.FileLoadException: Could not load file or assembly 'System.Threading.Tasks.Dataflow, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.Threading.Tasks.Dataflow, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at Cassandra.ProtocolEvents.ProtocolEventDebouncer..ctor(ITimerFactory timerFactory, TimeSpan delay, TimeSpan maxDelay)
   at Cassandra.Cluster..ctor(IEnumerable`1 contactPoints, Configuration configuration)
   at Cassandra.Cluster.BuildFrom(IInitializer initializer, IReadOnlyList`1 nonIpEndPointContactPoints, Configuration config)
   at OpportunityRecorder.DatabaseClient.<ConnectToCassandraAsync>d__12.MoveNext() in C:\Gitlab-Runner\builds\4Gddire9\0\dev\V\OpportunityRecorder\OpportunityRecorder\DatabaseClient.cs:line 46

我在这个解决方案中有另一个项目 System.Threading.Tasks.Dataflow, Version=4.11.1.0 .
此错误不会在本地发生,而是在部署应用程序时发生。
我怎样才能解决这个问题?

4szc88ey

4szc88ey1#

看起来有两个程序集被同一组项目引用,但版本不同。我所做的是把两者都加上 <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> 以及 <PreserveCompilationContext>true</PreserveCompilationContext> 我的启动(主)项目的.csproj文件。这在my app.config中生成了一个绑定引用,该引用将程序集的所有早期版本指向所有项目中的单个版本。

inn6fuwd

inn6fuwd2#

你能试着安装吗 System.Threading.Tasks.Dataflow, Version=4.11.1.0 在使用datastax驱动程序的项目中?

相关问题