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

SSIS执行Script Task时报DTS Script Task运行时错误求助

SSIS Execute Script Task 调用Microsoft.WindowsAzure.Storage类库报错解决方案

问题根因定位

你遇到的未进入断点直接崩溃的现象,本质是脚本任务运行初始化阶段加载依赖程序集失败,还没执行到你写的业务代码就已经终止,属于类库加载层面的错误,和你写的业务逻辑本身无关。

排查修复步骤

  • 确认程序集是否注册到GAC
    SSIS脚本任务运行时默认只从*全局程序集缓存(GAC)*加载第三方依赖,仅在Visual Studio脚本项目中添加本地引用,运行时会找不到库直接崩溃。你需要将用到的Microsoft.WindowsAzure.Storage.dll和其所有依赖dll全部注册到运行环境的GAC中,注册命令如下:
gacutil /i "你的dll本地路径\Microsoft.WindowsAzure.Storage.dll"
  • 核对.NET版本兼容性
    检查脚本任务配置的.NET Framework版本和Microsoft.WindowsAzure.Storage要求的最低.NET版本是否匹配,旧版Azure存储SDK仅支持.NET Framework 4.0及以上版本,如果你的脚本设置的.NET版本低于要求,会直接触发加载失败。
  • 捕获完整异常信息定位问题
    将调用Azure存储的代码包裹在try-catch块中,捕获Exception后将异常ToString()的完整信息输出到SSIS日志或者Windows事件查看器,即可拿到具体的错误原因(是程序集缺失、版本不匹配还是权限不足)。
  • 配置程序集绑定重定向
    如果运行环境中存在多个版本的Microsoft.WindowsAzure.Storage.dll,需要在脚本项目的app.config文件中添加绑定重定向规则,强制运行时加载你使用的对应版本,示例配置:
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-[你使用的版本号]" newVersion="[你使用的版本号]" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
  • 类库替换优化建议
    Microsoft.WindowsAzure.Storage已经被官方弃用,如果你要长期维护该SSIS包,建议替换为最新的Azure.Storage.Blobs等拆分后的官方SDK,新版本SDK的兼容性更强,依赖更少,出现加载异常的概率更低。

内容的提问来源于stack exchange,提问作者Przemysław Popławski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 06:06:03