gpt4 book ai didi

c# - SSIS 在 GAC 中将 JSON.NET 用于脚本组件

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:35 26 4
gpt4 key购买 nike

我构建了一个 Scopus 库 (dll),我将其加载到 GAC 中以供 SSIS 包的脚本组件使用。该库基于 .Net framework 4.5 并使用了我也加载到 GAC 中的 Json.Net Lib。

当在我的本地和开发机器上通过 SSIS 目录中的 SSISDB 运行包时,它工作正常,当我以相同的方式在测试机器上运行它时,它失败并出现以下错误。

DFT - S_SCOPUS_PUBL_META_EXTRACT: Error: System.TypeloadException: Could not load the type System.Collections.Generic.IReadOnlyDictionart '2' from assembly mscorlib, version 4.0.0.0 Culture=neutral, PublicKeyToken=b77a5c661934e089.

Microsoft.SQLServer.Dts.Pipeline.SciptComponentHost.HandleUserException(Exception(e)

Microsoft.SQLServer.Dts.Pipeline.SciptComponentHost.

等等。

盒子设置:SQL Server 2012、用于开发和测试的 Server 2012 以及用于本地的 SQL Server 2012 和 Windows 7。


我尝试解决的问题

  1. 检查了Scopus Library,Json.Net和SSIS Script Component都使用了4.5版本的.Net Framework。
  2. 仔细检查 GAC 中的 Scopus 和 Json.Net 库是否正确
  3. 确保我拥有最新版本的 Json.Net 库
  4. 检查每台机器上mscorlib.dll的版本
    LOCAL,DEV机器是文件版本4.0.30319.18052
    测试机器是 文件版本 4.0.30319.1008
  5. 扫描 TEST 机器上的更新,看看它是否需要任何额外的补丁来更新 mscorlib.dll 文件(它告诉我它是最新的 - 请记住我不是系统管理员,所以他们可能是退缩)。

是否有人对如何解决此错误有任何其他想法?

最佳答案

我不知道 SSIS 2012 是否还有这种行为;但是,在 SSIS 2005 和 2008 中,我发现脚本组件引用的 GACing 自定义 DLL还不够。我还必须将自定义 DLL 复制到目标计算机的 .NET Framework 文件夹,以便 SSIS 运行时可以在验证包时找到它们。

关于c# - SSIS 在 GAC 中将 JSON.NET 用于脚本组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18504251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com