SSIS脚本目标框架版本持续自动回退至.NET Framework 4.5求助
解决SSIS包目标.NET框架自动回退的问题
我之前也碰到过类似的糟心事,明明设置好了.NET 4.6,一保存关闭就变回4.5,试试下面这几个针对性的方案,应该能解决:
手动编辑项目文件锁定框架版本
有时候Visual Studio的可视化设置会被项目底层配置文件覆盖,直接改.dtproj文件反而更靠谱:- 先关掉Visual Studio,找到你的SSIS项目文件(后缀是
.dtproj),用记事本或者VS Code打开 - 搜索
<TargetFrameworkVersion>这个标签,把里面的v4.5改成v4.6 - 要是看到
<TargetFrameworkProfile>这个标签,直接删掉就行——.NET 4.6及以上版本不需要这个配置文件,留着反而可能出问题 - 保存文件后重新打开项目,再检查框架版本应该就不会回退了
- 先关掉Visual Studio,找到你的SSIS项目文件(后缀是
检查SSIS项目的兼容性级别
SSIS的兼容性级别直接决定了能支持的.NET版本,别忽略这个关键点:- 在Visual Studio里右键点击你的SSIS项目,选属性
- 切换到配置属性下的常规选项卡
- 看看项目兼容性级别,必须设置成
SQL Server 2016或者更高版本——因为SQL Server 2014及以下的SSIS只支持到.NET 4.5,就算你手动改了框架版本也会被强制回退 - 要是兼容性级别低了,先升级它,再重新设置.NET 4.6版本
清理缓存和重建项目
缓存文件有时候会“记住”旧设置,导致新配置不生效:- 在Visual Studio里点生成菜单,选清理解决方案
- 关掉VS,找到项目文件夹里的
bin和obj文件夹,把里面的东西全删了 - 打开
%USERPROFILE%\AppData\Local\Temp,删掉所有和SSIS、Visual Studio相关的临时文件 - 重新打开项目,设置好.NET 4.6,保存关闭后再检查
确认Visual Studio和SSDT的版本
旧版本的VS对.NET 4.6的支持不够完善,得确保工具版本达标:- 你的Visual Studio至少要是2015 Update 3或者更高版本,不然对.NET 4.6的支持有问题
- 检查SQL Server Data Tools(SSDT)是不是最新版,在VS的扩展和更新里搜SSDT,有更新就装上
单独检查脚本任务/组件的框架设置
有时候项目级的设置没问题,但单个脚本任务/组件的配置会独立回退:- 打开脚本任务或者组件的编辑器,点编辑脚本
- 在弹出的脚本项目里,右键选属性,确认目标框架是.NET 4.6
- 保存脚本项目并关闭,回到SSIS项目后再重新保存整个项目
内容的提问来源于stack exchange,提问作者Gabor




