Twitterizer выдает исключение загрузки файла из-за файла или сборки Newtown.Json - PullRequest
0 голосов
/ 28 марта 2012

Может кто-нибудь, пожалуйста, объясните ошибку ниже, пожалуйста, и скажите мне, что сделать, чтобы исправить это.Раньше это работало, но я не уверен, что именно изменилось и где мне это исправить.Ваша помощь будет высоко оценена.

System.IO.FileLoadException: не удалось загрузить файл или сборку 'Newtonsoft.Json, версия = 4.0.4.0, культура = нейтральная, PublicKeyToken =' ###### 'или одна из его зависимостей.Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.(Исключение из HRESULT: 0x80131040) Имя файла: 'Newtonsoft.Json, версия = 4.0.4.0, культура = нейтральная, PublicKeyToken = ######' ---> System.IO.FileLoadException: не удалось загрузить файл или сборку'Newtonsoft.Json, версия = 4.0.2.0, культура = нейтральная, PublicKeyToken = ######' или одна из ее зависимостей.Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.(Исключение из HRESULT: 0x80131040) Имя файла: 'Newtonsoft.Json, версия = 4.0.2.0, культура = нейтральная, PublicKeyToken = ######' WRN: регистрация привязки сборки отключена.Чтобы включить ведение журнала ошибок привязки сборки, установите для параметра реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) значение 1. Примечание. С журналированием ошибок привязки сборки связано некоторое снижение производительности.Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].в Twitterizer.Core.TwitterCommand`1.ExecuteCommand () в Twitterizer.TwitterStatus.Update (токены OAuthTokens, текст строки) в

#

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Не имея возможности увидеть структуру вашего проекта и более подробное описание проблемы, я предполагаю, что у вас отсутствует сборка во время выполнения.

Вы можете попробовать либо:

  1. Добавление ссылки на развернутый проект вашего сайта (обычно что-то вроде [yournamespace] .Web) для отсутствующего dll - "Newtonsoft.Json"
  2. Вы можете добавить шаг посткомпиляции, который копирует dll вваша развернутая папка bin (или вы можете скопировать этот файл туда вручную)

Это может быть вызвано тем, что один из других проектов в вашем решении ссылается на NewtonSoft.Json (косвенно?), но не присутствует вПапка с развернутыми решениями.Это часто не проблема, пока вы не внедрите на производственный / тестовый сервер.

Надеюсь, это поможет

0 голосов
/ 26 октября 2012

Для меня проблема заключалась в следующей строке кода в web.config:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

Я изменил это на:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

снял редирект и все заработало корректно

...