Не удалось загрузить файл или сборку "Newtonsoft.Json" Version = 11.0.0.0
Я прочитал много ответов на предыдущие версии этой проблемы, но ни один из них не работает.
Каждый раз, когда я открываю свой компонент скрипта в Visual Studio 2015 (v14.0.25431.01 update 3), он говорит мне, что мне не хватает ссылки на Newtonsoft.Json. Поэтому я перехожу в менеджер пакетов NuGet, и он просит меня восстановить, что я делаю, и говорит, что он успешно завершен.
Затем я сохраняю и пытаюсь запустить свой SSIS-пакет и получить следующую ошибку.
Не удалось загрузить файл или сборку "Newtonsoft.Json, Version = 11.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed" или одну из его зависимостей. Система не может найти указанный файл.
Мой файл package.config выглядит так.
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net45" />
</packages>
и мой файл app.config выглядит так.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json"
publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Я могу перейти в папку, которую она ищет, и посмотреть файл.dll
C:\Users\lp1.db\AppData\Local\Temp\Vsta\SSIS_SC130\VstaGbmf__V5kCUWonnRT2qrG_g\пакеты\Newtonsoft.Json.11.0.1\Lib\net45\Newtonsoft.Json.dll
У кого-то еще была эта постоянная проблема, когда он терял способность находить файл, несмотря на то, что был установлен.
Ответы
Ответ 1
Удалите все ссылки на Newtonsoft.Json во всех ваших проектах.
Перейдите в Nuget Package Manager (щелкните правой кнопкой мыши по решению), загрузите последнюю версию Newtonsoft.Json и выберите все проекты для ее использования и переустановите.
Убедитесь, что у pack.config установлена последняя версия:
<packages>
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
</packages>
Восстановить решение.
Ответ 2
Это одна из наиболее распространенных проблем в.NET-проектах. В основном кто-то сделал ссылку непосредственно на локальную сборку вместо управления пакетом через NuGet или проект был сделан для компиляции в другой версии.NET. Лучший способ решить эту проблему - найти ссылку в ссылках на проект, удалить ее, очистить проект, проверить, удалила ли DLL и, наконец, переделать ссылку с помощью NuGet.
Ответ 3
Попробуйте скопировать NewtonSoft.Json
в папку Runtime SQL SSIS
C:\Program Files (x86)\Microsoft SQL Server\[SQL Server version]\DTS\Binn
пример (SQL Server 2016)
C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn
Ответ 4
Попробуйте очистить свой проект.
Чистый проект в Visual Studio
Если это не работает, удалите ссылку по ссылкам. Сохраните файл dll в папке bin и добавьте его снова. Просмотрите свой файл, выберите его и нажмите ОК.