sql-server - 有没有办法一次更新所有脚本任务的 .net 框架版本?
问题描述
我需要更新脚本任务以对多个包使用 4.6 框架版本。有没有办法一次升级框架版本而不是去每个脚本任务并一个一个更新?
解决方案
不,没有魔术按钮可以更改现有脚本的定义。
您可以想象编写一个自定义 .NET 应用程序来模拟打开脚本任务/组件的行为,这当然会产生一个 VS 实例来编辑脚本,然后将其更新TargetFrameworkVersion
到 4.6,保存更新的项目,将其序列化回 SSIS对象模型并保存生成的包。这与手动修复所有包的蛮力相比的复杂性将严重影响手动工作。未来的读者,请在这里证明我错了,因为我认为这是一个巧妙的技巧。
展望未来,您可以更改新脚本组件/任务的定义以使用 Framework 4.6(或 4.7、4.8)。在我关于Slimming down the Script Task 的帖子中,我们可以看到文件系统上的某处是 VSTA??_IS_ST_CS_Template.vstax(其中 ?? 是两位数)。对于我的盒子,VS 2017,SSDT 15,我有VSTA14_IS_ST_CS_Template.vstax
.
如果我
- 解压那个,
- 编辑第 14 行
IS%20Script%20Task%20Project.csproj
to go from<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
to<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
- 保存
- 将所有内容压缩为 VSTA14_IS_ST_CS_Template.vstax
- 用我们修改的文件替换原来的 vstax 文件
创建一个新的脚本任务将针对 4.6 框架。将 vstax 文件应用到您的所有同事。
推荐阅读
- android - 使用身份验证密钥作为标头我们如何在登录 Flutter 后调用 get api?
- arrays - 多个(n 次)重复路由参数
- javascript - 分页后jQuery脚本不起作用
- javascript - 根据 exif 方向自动旋转图像
- sql-server - 仅从具有一对多关系的多个表中选择不同的行
- c# - 将 CheckBox 中的值添加到 DataGridView 的特定列
- c - 选择文件时子窗口的 Windows 消息循环中的多余(错误)消息
- python - 'Keras.models.load_model' 无法加载模型
- r - 将 data.frame 转换为矩阵以设置二维
- php - 基于用户角色的 Laravel 显示菜单