我已经阅读了很多对这个问题以前版本的回应,但似乎都不起作用。
每次我在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>
我的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\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll
有没有其他人有这个持续的问题,它失去了找到文件的能力,尽管被设置。
8条答案
按热度按时间dzhpxtsq1#
删除所有项目中对Newtonsoft.Json的所有引用。
转到Nuget软件包管理器(右键单击解决方案),下载Newtonsoft.Json最新版本并选择所有要使用它的项目,然后重新安装它。
确保packages.config具有最新版本:
重新生成解决方案。
7cjasjjr2#
这是.NET项目中最常见的问题之一。基本上,有人直接引用了本地程序集,而不是通过NuGet管理包,或者项目是在不同的.NET版本中编译的。解决此问题的最佳方法是在项目引用中找到引用,删除它,清理项目,检查DLL是否已消失,最后使用NuGet重新创建引用。
d4so4syb3#
尝试清理项目。
Clean Project in Visual Studio
如果这样做不起作用,请删除references下面的reference。将dll文件保存到bin文件夹中,然后重新添加。浏览您的文件,选择它并单击ok。
9fkzdhlc4#
尝试将
NewtonSoft.Json
复制到SQL SSIS Runtime文件夹SQL Server 2016数据库管理系统
qqrboqgw5#
当我在同一个解决方案中有两个不同的项目时,我遇到了类似的问题,其中一个项目引用11.0.2版,另一个引用6.0.4版。如果是这种情况,请尝试为这两个项目保留相同的版本,然后重试。
h43kikqp6#
最好的答案就在这里:未能加载文件或程序集'Newtonsoft.Json,Version=9.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed'或它的某一个依赖项
hpxqektj7#
复制并粘贴版本/发布或版本/调试中可用的Newtonsoft.Json.dll和Newtonsoft.Json.xml到已部署的ProjectFolder
roqulrg38#
我强制卸载了newtonsoft.json的13版本(你必须进入插件的NuGet窗口中的设置)。然后我得到了大量的错误,只是重新安装了一次。所有的错误都消失了,我重新运行了程序,这一次它通过了版本错误。