看起来我有一个绑定重定向问题,我不知道如何解决。
什么时候 .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
.
此错误不会在本地发生,而是在部署应用程序时发生。
我怎样才能解决这个问题?
2条答案
按热度按时间4szc88ey1#
看起来有两个程序集被同一组项目引用,但版本不同。我所做的是把两者都加上
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
以及<PreserveCompilationContext>true</PreserveCompilationContext>
我的启动(主)项目的.csproj文件。这在my app.config中生成了一个绑定引用,该引用将程序集的所有早期版本指向所有项目中的单个版本。inn6fuwd2#
你能试着安装吗
System.Threading.Tasks.Dataflow, Version=4.11.1.0
在使用datastax驱动程序的项目中?