Atiiiii Ответов: 2

Тип инициализатора для 'Google.Апис.в формате JSON.newtonsoftjsonserializer' выбросил исключение


У меня есть мета-поисковая система, написанная на C#. Он хорошо работал с google и Bing search API.когда я хотел добавить DuckDuckGo API,он сказал,что класс поиска находится как в google, так и в duckduckgo и не может его распознать, я добавил пространство имен перед ним, и это решило проблему, но теперь он выбрасывает это исключение и вообще не работает.Я не знаю, в чем проблема и что вызвало исключение.

исключение гласит:
An unhandled exception of type 'System.TypeInitializationException' occurred in Google.Apis.dll

Additional information: The type initializer for 'Google.Apis.Json.NewtonsoftJsonSerializer' threw an exception.


и внутреннее исключение говорит:

"Не удалось загрузить файл или сборку "Ньютонсофт".Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' или одна из его зависимостей. Определение манифеста расположенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)":"Newtonsoft.В формате JSON, версия=7.0.0.0, культуры=нейтральный, значения PublicKeyToken=30ad4fe6b2a6aeed"

Что я уже пробовал:

Я скачал и добавил newtonsoft.jason.net35.dll кто-нибудь может мне в этом помочь?

Afzaal Ahmad Zeeshan

Вы должны использовать NuGet package manager для установки этого приложения вместо копирования и вставки загруженных файлов.

2 Ответов

Рейтинг:
0

#realJSOP

Вы добавили соответствующий оператор "using" в свой исходный файл?


Atiiiii

да я так и сделал

Рейтинг:
0

#realJSOP

Загрузчик не может найти ссылочную сборку.

Способ, которым я это делаю, заключается в том, чтобы поместить сторонние сборки в папку внутри моего решения и ссылаться на эту копию DLL. Таким образом, нет никаких проблем с версиями.

Если вы добавили библиотеку json с помощью NuGet, то в вашем решении есть папка под названием "пакеты". Удалите ссылку и снова добавьте ее, указав на файл в этой папке.


Atiiiii

Я не понял этой части: "способ, которым я это делаю, заключается в том, чтобы поместить сторонние сборки в папку внутри моего решения и ссылаться на эту копию DLL. Таким образом, нет никаких проблем с версиями."
а во второй части вы имеете в виду, что я удаляю ссылку из программы и снова добавляю ее как?
извините, я не носитель английского языка :(

#realJSOP

Файл манифеста не соответствует dll. Убедитесь, что вы добавляете ссылку, которая имеет правильный файл манифеста в той же папке. Лучше всего удалить ссылку, Получить сборку из nuget и позволить ей добавить ссылку для вас.

Atiiiii

Хорошо, какой пакет я должен загрузить из Nuget после удаления newtonsoft. json из ссылок ?