0

设想:

1) 我将SSIS从带有 SQL 2012 (@Amazon) 的Windows 2008 r2 服务器移动到带有 SQL 2012 (@Azure)Windows 2012 服务器

Windows 2008 配置(生产服务器)

1) 使用vs2012编译了强类型的 dll 。它已经在 2008 服务器上使用了大约 14 个月。从脚本任务和脚本组件调用 dll。(vb 不是 c#)从 5 个 dtsx 调用 dll。

2)\v8.0A\bin\NETFX 4.0 Tools\x64\gacutil.exe用于将dll配置到gac中。

3) 出于某种原因,我同时配置了 x64 和 msil 版本的 dll。我不确定我为什么这样做,但它是一个生产服务器,所以我不倾向于卸载/重新安装来测试。

4)msil版本在C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies

Windows 2012 配置(未来的生产服务器)

1) 我完全按照在 Windows 2008 机器上安装 dll 的方式安装了 dll

2) dll 在脚本任务中运行良好

3) dll 在脚本组件中不起作用,会产生相同的错误消息,即:

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.IO.FileNotFoundException: 无法加载文件或程序集 'NSWebService, Version=2.2012.1.0, Culture=neutral, PublicKeyToken=2e561c72c5209961' 或其依赖项之一。该系统找不到指定的文件。

有人会对如何调试/确定为什么这不起作用有建议吗?

4

1 回答 1

0

显而易见的答案是您在程序集中引用了 NSWebService 并且 NSWebService 未安装在新服务器上。解决方法是确保 NSWebService 位于新服务器上的 GAC 中。

于 2013-09-06T16:02:22.500 回答