我已经构建了一个 Scopus 库 (dll),我将其加载到 GAC 中以供 SSIS 包的脚本组件使用。该库基于 .Net 框架 4.5,并利用了我也加载到 GAC 中的 Json.Net Lib。
在我的本地和开发机器上通过 SSIS 目录中的 SSISDB 运行包时,它工作正常,当我以相同的方式在测试机器上运行它时,它失败并出现以下错误。
DFT - S_SCOPUS_PUBL_META_EXTRACT:错误:System.TypeloadException:无法从程序集 mscorlib、版本 4.0.0.0 Culture=neutral、PublicKeyToken=b77a5c661934e089 加载类型 System.Collections.Generic.IReadOnlyDictionart '2'。
在
Microsoft.SQLServer.Dts.Pipeline.SciptComponentHost.HandleUserException(Exception(e)
在
Microsoft.SQLServer.Dts.Pipeline.SciptComponentHost.
等等等等。
Box 设置:SQL Server 2012、Server 2012 用于开发和测试以及 SQL Server 2012 和 Windows 7 用于本地。
我试图解决这个问题的事情
- 检查了 Scopus 库,Json.Net 和 SSIS Script Component 都使用了 4.5 版本的 .Net Framework。
- 仔细检查 Scopus 和 Json.Net 库是否在 GAC 中正确
- 确保我拥有最新版本的 Json.Net 库
- 检查每台
本地机器上的 mscorlib.dll 的版本,DEV 机器是文件版本 4.0.30319.18052
测试机器是文件版本 4.0.30319.1008 - 在 TEST 机器上扫描更新,看看它是否需要任何额外的补丁来更新 mscorlib.dll 文件(它告诉我它是最新的 - 请记住我不是系统管理员,所以他们可能会阻止) .
有没有人对如何解决这个错误有任何额外的想法?