无法加载文件或程序集"Newtonsoft.Json"Version = 11.0.0.0

Luc*_*ett 19 c# ssis json.net script-component visual-studio

我已经阅读了很多对此问题的先前版本的回复,但似乎都没有.

每次我在Visual Studio 2015(v14.0.25431.01 update 3)中打开我的脚本组件时,它都会告诉我我缺少对Newtonsoft.Json的引用.所以我进入NuGet包管理器,它要求我恢复我做的,并说它成功完成.

然后我保存并尝试运行我的SSIS包并得到以下错误.

无法加载文件或程序集"Newtonsoft.Json,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed"或其中一个依赖项.该系统找不到指定的文件.

我的packages.config文件看起来像这样.

    <?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Newtonsoft.Json" version="11.0.1" targetFramework="net45" />
</packages>
Run Code Online (Sandbox Code Playgroud)

我的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>
Run Code Online (Sandbox Code Playgroud)

我可以导航到它正在查找的文件夹并查看.dll文件

C:\ Users \用户lp1.db \应用程序数据\本地的\ Temp\VSTA\SSIS_SC130\VstaGbmf__V5kCUWonnRT2qrG_g \包\ Newtonsoft.Json.11.0.1\LIB \net45\Newtonsoft.Json.dll

有没有其他人有这个持续的问题,它失去了找到文件的能力,尽管被设置.

liv*_*ove 6

删除所有项目中对Newtonsoft.Json的所有引用.

转到Nuget Package Manager(右键单击解决方案),下载Newtonsoft.Json最新版本并选择要使用它的所有项目,然后重新安装.

确保packages.config具有最新版本:

<packages>
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
</packages>
Run Code Online (Sandbox Code Playgroud)

重建解决方案.


Had*_*adi 0

尝试复制NewtonSoft.Json到 SQL SSIS Runtime 文件夹

C:\Program Files (x86)\Microsoft SQL Server\[SQL Server version]\DTS\Binn
Run Code Online (Sandbox Code Playgroud)

示例(SQL Server 2016)

C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn
Run Code Online (Sandbox Code Playgroud)