对于自定义 SSIS 组件,为什么必须将其放入 GAC 中



我根据本文创建自定义 SSIS 任务:开发自定义 SSIS 源组件

现在,在编译DLL之后,我需要将其放入相关SQL Server版本的PipelineComponents文件夹中。文章指出,我还必须在 GAC 中注册。(在"部署自定义组件"部分中(

为什么我需要把它放在两个不同的位置?

首先,您必须将 DLL 复制到{{ SQLServer Installation Folder}}110DTS PipelineComponents,因为在 Visual Studio 启动时,ssis 工具箱组件是从此位置读取的。

其次,您必须将这些 DLL 复制到 GAC,因为 Visual Studio 在执行包或部署时在 GAC 上使用搜索 DLL。

因此,我们可以说第一个位置是允许在设计模式下使用 DLL,第二个位置是用于执行和部署包。


旁注(GAC 定义(:

"全局程序集缓存 (GAC( 是 Microsoft .NET Framework 中公共语言基础结构 (CLI( 的计算机范围的 CLI 程序集缓存。拥有特别控制的中央存储库的方法解决了共享库概念中的缺陷,并有助于避免导致DLL地狱等缺点的其他解决方案的陷阱" 阅读更多

最新更新