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

ASP.NET Web API运行dtsx文件时加载Microsoft.SqlServer.DTSRuntimeWrap失败求助

问题描述

构建ASP.NET Web API应用程序以运行服务器上的dtsx文件时,执行以下代码触发程序集加载错误:

Application app = new Application();        

错误信息:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'. The system cannot find the file specified. File name: 'Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'

已尝试操作:

  • 将项目生成属性的平台目标从“Any CPU”改为x64
  • 安装SQL Server 2014以匹配12.0.0.0版本(此前为15.0.0.0)
排查与解决方案
  1. 确认SQL Server Integration Services (SSIS) 组件已安装
    SQL Server 2014默认不会自动安装SSIS,需在安装时手动勾选“Integration Services”功能。打开「控制面板-程序和功能」,找到SQL Server 2014点击「更改」,检查SSIS是否已安装,未安装则补充安装该组件。

  2. 验证程序集是否在全局程序集缓存(GAC)中
    以管理员身份打开命令提示符,执行以下命令检查目标程序集:

gacutil -l Microsoft.SqlServer.DTSRuntimeWrap

若无返回结果,手动注册程序集。该dll通常位于C:\Program Files\Microsoft SQL Server\120\DTS\Binn\路径下,执行注册命令:

gacutil -i "C:\Program Files\Microsoft SQL Server\120\DTS\Binn\Microsoft.SqlServer.DTSRuntimeWrap.dll"
  1. 核对项目引用的程序集版本
    在解决方案资源管理器中右键项目→「管理NuGet程序包」,确认已安装版本为12.0.x.x的Microsoft.SqlServer.DTSRuntimeWrap。若为手动添加引用,需从C:\Program Files\Microsoft SQL Server\120\DTS\Binn\路径选择dll,并将引用属性的「复制本地」设置为True。

  2. 调整IIS应用程序池位数
    若Web API部署在IIS上,需确保应用程序池的「启用32位应用程序」设置为False——SSIS 64位组件无法在32位池环境下运行。操作路径:IIS管理器→应用程序池→选中目标池→高级设置→启用32位应用程序→设置为False。

  3. 检查应用程序池权限
    运行Web API的应用程序池身份需具备访问SSIS组件和dtsx文件的权限。测试环境可先将身份设置为本地管理员,验证问题是否解决;生产环境建议配置具有SSIS操作权限的专用域账户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:55:28