VS2019中SSIS脚本任务版本不兼容错误求助
SSIS脚本任务版本不兼容及代码丢失问题解决思路
问题概述
多个开发者环境中,SSIS包加载时触发异常:
加载XXXXXXX.dtsx时,从XML加载Script Task抛出异常,提示“Script Task "ST_36ae893a14204fac97ce8ce3b4ce8ebb"使用的16.0版本脚本不受当前Integration Services版本支持”
打开脚本任务后原有代码完全丢失,部分旧包可在Visual Studio 2017正常运行,但在Visual Studio 2019中失效,甚至VS2019创建的新包也出现相同问题。
环境配置:
- Microsoft Visual Studio Enterprise 2019 Version 16.11.17
- Microsoft .NET Framework Version 4.8.04084
- SQL Server Data Tools 16.0.62205.05200
- SQL Server Integration Services 16.0.948.0
已尝试修改目标服务器版本,无效果。
解决思路
1. 对齐SSDT与SSIS版本兼容性
VS2019的SSDT版本需与SSIS运行时严格匹配:
- 卸载当前SSDT,重新安装与VS2019 16.11.x兼容的稳定版本(建议选择16.0.62107.x及更早版本,避免版本冲突)
- 确认SQL Server Integration Services运行时版本与SSDT版本完全对应,禁止混合安装跨版本组件
2. 手动修复.dtsx文件恢复代码
脚本代码丢失源于XML加载失败导致的任务重置,可尝试手动修复:
- 备份原.dtsx文件,用文本编辑器打开
- 定位到报错的Script Task节点(如
ST_36ae893a14204fac97ce8ce3b4ce8ebb),调整版本属性:- 将
VstaMajorVersion从16改为15(对应VS2017的VSTA版本),或匹配当前VS2019支持的VSTA版本 - 若有代码备份,将代码片段重新插入到
ScriptTaskProject节点下的Script子节点中
- 将
- 保存后重新在VS2019中打开包验证
3. 清理VSTA缓存并修复VS组件
VS2019的VSTA(Visual Studio Tools for Applications)缓存损坏可能引发加载异常:
- 关闭所有VS实例,删除以下目录的缓存文件:
C:\Users\<你的用户名>\AppData\Local\Microsoft\VisualStudio\16.0_<随机字符>\VSTAC:\Users\<你的用户名>\AppData\Roaming\Microsoft\VSTA
- 打开VS Installer,选择“修改”->“修复”,确保SSIS相关组件完整修复
4. 校验项目目标版本与脚本运行时
- 确认SSIS项目的目标服务器版本设置为与当前SSIS运行时一致(SQL Server 2022),而非旧版本(如2017)
- 打开脚本任务时,选择与环境匹配的.NET版本(SSIS 2022支持.NET 4.8),避免选择不兼容版本
5. 排查多版本VS组件冲突
- 若同时安装了VS2017和VS2019的SSDT组件,可能导致VSTA版本冲突,可暂时卸载VS2017的SSDT组件,测试问题是否解决
- 运行
dotnet --info检查.NET Framework 4.8完整性,必要时执行.NET Framework修复工具
内容的提问来源于stack exchange,提问作者Sam Alex
相关产品推荐
相关产品推荐

