You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将外部DLL打包进SSIS项目包(ISPAC)

解决SSIS ISPAC包嵌入自定义签名DLL的方法
  • 调整脚本组件的引用属性
    打开SSIS脚本组件的编辑界面,切换到「引用」标签页,找到你的自定义.NET Framework DLL:

    • 将Copy Local设为True,确保脚本编译时DLL会被复制到脚本的输出目录
    • 把Specific Version设为True,避免版本匹配问题
  • 配置SSIS项目部署属性
    在Visual Studio里右键点击SSIS项目,选择「属性」:

    • 进入「部署」标签页,勾选Include all external files,让项目自动将依赖的外部DLL打包进ISPAC
    • 若上述选项未生效,手动把DLL添加到项目:
      1. 右键SSIS项目→「添加」→「现有项」,选中你的自定义DLL
      2. 在属性窗口,将Copy to Output Directory设为Copy if newer,Build Action设为Content
  • 手动修改ISPAC包(兜底方案)
    ISPAC本质是压缩包,可手动嵌入DLL:

    1. 找到项目生成的ISPAC文件,将后缀改为.zip并解压
    2. 把自定义DLL复制到解压后的bin目录(或脚本组件对应的输出目录,一般在Script Component Files\bin\Debug下)
    3. 重新压缩所有文件,改回.ispac后缀
    4. 部署修改后的ISPAC到SSIS目录
  • 脚本组件显式加载DLL(可选)
    如果以上方法都不行,可在脚本组件代码里添加显式加载逻辑:

    using System.Reflection;
    using System.IO;
    
    // 在脚本的入口方法前添加
    static ScriptMain()
    {
        AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
        {
            string dllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourCustomDLL.dll");
            return File.Exists(dllPath) ? Assembly.LoadFrom(dllPath) : null;
        };
    }
    

内容的提问来源于stack exchange,提问作者sbrbot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:42:19