【发布时间】:2022-04-06 23:45:50
【问题描述】:
我正在 Visual Studio 2012 中构建一个 SSIS 包,在包中我有一个 C# 脚本任务,它读取各种文件格式并将这些文件中的数据插入到数据库表中。
这很好用,但现在我需要脚本来处理 JSON。
为此,我已进入脚本任务并通过 NuGet 包管理器添加 Json.NET 框架,然后添加以下代码行以引用命名空间。
using Newtonsoft.Json;
然后我可以引用该库并使用 JsonConvert 等命令,但是当我保存脚本并关闭它以运行 SSIS 包时,我收到以下错误:
错误:SCR 上的 0x1 - 填充登陆表,脚本错误:无法 加载文件或程序集'Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' 或其之一 依赖项。系统找不到指定的文件。
当我回到脚本时,对命名空间的引用在下面有一条红色波浪线
当我转到 NuGet 包管理器时,有一条消息说解决方案中缺少一些 NuGet 包。
恢复并不能解决问题,我必须卸载并重新安装 Json.NET 才能摆脱红线,但是当我关闭脚本并尝试运行包时,该过程再次开始。
非常感谢任何帮助。
谢谢
【问题讨论】:
-
是的,还有一个关于 nuget 和 SSIS 引用失败的问题。我还没有深入研究 nuget 的工作原理,看看它与 SSIS 脚本的作用相比如何
-
感谢您的链接。我认为 NuGet 正在安装对我的漫游 appdata 文件夹的引用。你知道如何将它安装到 GAC 上吗?
-
是的,您需要使用
gacutil来安装DLL 大约(gacutil -if NewtonSoft.dll) -
看起来 NewtonSoft.dll 存在具有相同强名称的不同不兼容版本的问题。我通过谷歌搜索找到了这个——github.com/JamesNK/Newtonsoft.Json/issues/615
标签: c# json visual-studio ssis nuget