SSIS中DLL引用与操作详解

需积分: 1 0 下载量 49 浏览量 更新于2024-09-14 收藏 2KB TXT 举报
在SQL Server Integration Services (SSIS) 中引用DLL文件是一个关键任务,尤其是在处理自定义组件和扩展时。以下是详细的步骤来确保正确地集成和管理DLL依赖: 1. 卸载冲突的DLL: 在开始之前,确认已卸载可能导致版本冲突的相同或相似名称的DLL。前往C:\WINDOWS\assembly路径,查看是否存在不需要的版本,如果存在,请移除。 2. 切换到Visual Studio SDK目录: 使用命令行(cmd)导航至Visual Studio安装的SDK目录,例如: - 对于32位版本:`cd C:\ProgramFiles\MicrosoftVisualStudio8\SDK\v2.0\Bin` - 对于64位版本:`cd C:\ProgramFiles\Microsoft.NET\SDK\v2.064bit\Bin` 3. 创建Strong Name (SNK) 文件: Strong Name工具(sn.exe)用于保护和验证.NET DLL。生成SNK文件以确保代码签名,命令如下: ``` sn -k "D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ZeusFrad\Zeus.Frad.snk" sn -k "D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ETL\ShredComponent\shredcomp.snk" ``` 这里生成了两个SNK文件,每个文件对应一个DLL项目。 4. 检查公钥和公钥哈希: 为了验证公共密钥和公钥哈希,运行: ``` sn -Tp D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ZeusFrad\bin\Release\Frad.dll sn -Tp D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ETL\ShredComponent\bin\Debug\ETL.dll ``` 这将显示每个DLL的公钥信息。 5. 将DLL放入GAC(全局Assembly Cache): 使用gacutil.exe将DLL添加到系统全局缓存,以便SSIS能够访问,命令如下: ``` gacutil -I "D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ZeusFrad\bin\Release\Frad.dll" gacutil -I "D:\Perforce\1985\depot\dmo\Zeus\Zeus\Development\ui\ETL\ShredComponent\bin\Debug\ETL.dll" ``` GAC中的DLL将在所有.NET应用程序之间共享,包括SSIS。 6. 存放DLL的位置: 最后,确保将DLL复制到以下路径之一,以便SSIS能够查找它们: - C:\WINDOWS\Microsoft.NET 遵循这些步骤,你将能够成功地在SSIS项目中引用并管理DLL,确保其安全性、可用性和正确配置。请注意,如果你的DLL是面向其他特定框架(如IronPython、IronRuby等),可能需要额外的配置步骤。同时,保持良好的命名和版本控制策略对于避免冲突至关重要。