Как разрешить конфликты .NET Core и версии пакета NuGet при использовании библиотеки Dapper в проекте Hangfire? - PullRequest
0 голосов
/ 17 января 2019

При использовании библиотеки Hangfire в базовом приложении .net произошел конфликт версий между двумя разными библиотеками Dapper.Одна версия V1.5.0 из пакета Nuget, а другая версия - ссылка V1.0.0 из моего локального основного проекта .net.При запуске программы возникает ошибка.

 System.IO.FileLoadException
  HResult=0x80131040
  Message=Could not load file or assembly 'Dapper, Version=1.50.1.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
  Source=Hangfire.SqlServer
  StackTrace:
   at Hangfire.SqlServer.SqlServerObjectsInstaller.Install(DbConnection connection, String schema)
   at Hangfire.SqlServer.SqlServerStorage.<>c__DisplayClass24_0.<UseConnection>b__0(DbConnection connection)
   at Hangfire.SqlServer.SqlServerStorage.UseConnection[T](DbConnection dedicatedConnection, Func`2 func)
   at Hangfire.SqlServer.SqlServerStorage.UseConnection(DbConnection dedicatedConnection, Action`1 action)
   at Hangfire.SqlServer.SqlServerStorage.Initialize()
   at Hangfire.SqlServerStorageExtensions.UseSqlServerStorage(IGlobalConfiguration configuration, String nameOrConnectionString)

К сожалению, мне нужно сохранить библиотеку старой версии, а не переставить ее.Как я могу решить конфликт версии пакета, в то время как две библиотеки существуют вместе.Надеюсь, кто-нибудь может найти хорошее решение.Спасибо!

1 Ответ

0 голосов
/ 12 февраля 2019

Удалите Dapper в Nuget и установите версию, которую он ищет, в моем случае 1.50.1.0. Не уверен, почему Hangfire закодирован для конкретной версии, но это решает проблему.

Надеюсь, это не постоянная ошибка на их конце, но это будет работать, пока не будет исправлено.

...