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

如何在SSIS ScriptTask中引用.NET Standard类库?

解决VS2015 SSIS ScriptTask引用.NET Standard类库的问题

我之前也碰到过一模一样的坑,在VS2015的SSIS脚本任务里引用.NET Standard类库确实需要绕几个弯,不过最后还是成功跑起来了,分享下亲测有效的解决步骤:

1. 锁定.NET Standard类库版本

确保你的类库是**.NET Standard 2.0版本**——VS2015对2.0以上的.NET Standard版本支持非常有限,2.0是兼容性最好的选择。

2. 正确添加引用(避免直接项目引用)

不要直接在ScriptTask的脚本项目里添加.NET Standard DLL的引用,建议用手动复制+配置的方式:

  • 把你的.NET Standard类库输出DLL,以及它依赖的netstandard.dll(找2.0版本,可从类库输出目录或NuGet缓存中获取)复制到SSIS包项目下的专属文件夹(比如新建Libs目录)。
  • 打开ScriptTask的脚本编辑界面,在解决方案资源管理器中找到对应的C#/VB项目,右键选择「添加→现有项」,把刚才复制的DLL添加进来。
  • 选中这些DLL,在属性面板设置「复制到输出目录」为始终复制。

3. 调整ScriptTask项目的目标框架

VS2015的SSIS ScriptTask默认可能用的是较低版本的.NET Framework,而.NET Standard 2.0要求至少.NET Framework 4.6.1:

  • 右键ScriptTask的脚本项目 → 「属性」→ 「应用程序」选项卡,将「目标框架」改为**.NET Framework 4.6.1**或更高版本。

4. 处理运行时依赖

SSIS运行时可能找不到.NET Standard相关的DLL,需要手动部署到运行目录:

  • 本地调试时,把类库DLL和netstandard.dll复制到SSIS的Binn目录,比如SQL Server 2016对应的路径是C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn。
  • 部署到服务器时,同样把这些DLL放到服务器对应的SSIS Binn目录,或者通过GAC安装(复制文件的方式更简单直接)。

5. 排查代码兼容性

检查ScriptTask中使用.NET Standard类库的代码,避免调用.NET Framework不兼容的API。如果遇到特定API报错,可以尝试给ScriptTask的脚本项目安装NETStandard.Library NuGet包,补充兼容性依赖。

额外建议

如果条件允许,升级到VS2017及以上版本会省心很多——后续版本对.NET Standard和SSIS的集成做了不少优化,能避免很多这类兼容性问题。

内容的提问来源于stack exchange,提问作者Hossein Narimani Rad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:35:56