Эта одна ошибка меня заводит.
Я установил пакет SendGrid NuGet в одну из моих библиотек классов с именем BaseServices, которая имеет зависимость от Newtonsoft.Json v7.0.1, поэтому он устанавливает это в моей папке пакетов и ссылках, которые.
В библиотеке классов у меня есть это перенаправление связывания:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
В web.config приложения ASP.NET MVC, то есть клиентского приложения, которое использует мою библиотеку классов, у меня есть перенаправление связывания сборки для версий, меньших, чем v6, чтобы указать на v6 Newtonsoft.Json, например:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral"
publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
Когда я запускаю код отправки электронной почты, который находится в библиотеке BaseServices, я получаю эту ошибку:
Поток 0x1a4c вышел с кодом 0 (0x0). System.IO.FileLoadException: не удалось загрузить файл или сборку 'Newtonsoft.Json, Version = 7.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed 'или одна из его зависимостей. установленное определение манифеста сборки не соответствует сборке Справка. (Исключение из HRESULT: 0x80131040) Имя файла: 'Newtonsoft.Json, Version = 7.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed 'at ОтправитьGrid.Helpers.Mail.Mail.Get() at BaseServices.EmailService.SendAsync(сообщение электронной почты) в MyFolder\BaseServices\EmailService.cs: строка 39
=== Информация о состоянии предварительной привязки === LOG: DisplayName = Newtonsoft.Json, Version = 7.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed (Fully-specific) LOG: Appbase = file:///MyFolder/Web/LOG: начальная PrivatePath = MyFolder\Web\bin Сбор вызовов: SendGrid, Версия = 7.0.3.0, Культура = нейтральная, PublicKeyToken = 4f047e93159395ca. === LOG: Это связывание начинается с контекста нагрузки по умолчанию. LOG: Использование файла конфигурации приложения: MyFolder\Web\web.config LOG: Использование файл конфигурации хоста: C:\Users\computer\Documents\IISExpress\config\aspnet.config LOG: Использование файл конфигурации машины из C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config. LOG: Послеполитическая ссылка: Newtonsoft.Json, Version = 7.0.0.0, Культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed LOG: Попытка загрузка нового URL-адреса file:///C:/Users/computer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/ef9cacdf/e639667a/Newtonsoft.Json.DLL. LOG: Попытка загрузка нового URL-адреса file:///C:/Users/computer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/ef9cacdf/e639667a/Newtonsoft.Json/Newtonsoft.Json.DLL. ЖУРНАЛ: Попытка загрузки нового URL-адреса файл:///MyFolder/Web/bin/Newtonsoft.Json.DLL. WRN: сравнение имя сборки привело к несоответствию: Основная версия ERR: не удалось полная настройка сборки (hr = 0x80131040). Исследование прекращено.