dtsx 文件手动编辑不适用

dtsx file manual edit doesn't apply

我有一个处理超过 200 个 table 导出的 dtsx 文件,以及在每个 table 完成导出前后记录信息的脚本。我正在尝试更改日志记录以包含更多详细信息,一个一个地打开日志脚本对象,单击编辑并进行更改是一个耗时的过程。我用正则表达式在记事本++中打开了 dtsx 文件,我通过添加更多日志信息更新了脚本文本。但是当我 运行 SSIS.

时我的更改没有生效

当我在 visual studio 2013 中打开修改后的 dtsx 文件时,双击日志脚本对象,单击编辑,然后在所有日志对象上添加一个 space 保存,然后我的更改生效。

我比较了这两个文件(一个从 notepad++ 修改,另一个从 visual studio 修改),除了一些 GUID 差异和我的新 space 字符没有变化。为什么我在记事本++中所做的更改没有生效?我错过了什么吗?

太棒了!根本问题是,如果您对 C# class 文件进行更改,这些更改将不会反映在应用程序中,直到您 编译。 这就是这里发生的事情,您已经更改了 SSIS 包的源脚本,但您需要将该脚本编译成字节码,这样它实际上可以是 运行.

SSIS 的 2005 版允许我们指定代码是否应该在 运行 时编译,而不是在设计时编译,但是在 2005 年生命周期的某个时刻,这并没有很好地发挥作用,该功能被取消,代码必须在设计时设置。

认为我看过编译脚本的代码task/component,但目前还是个谜。我相信 Matt Mason 表示 2005/2008 和 2012+ 之间的编译方式发生了变化,但我找不到 post。有 this post 可能会给你一个正确的方向,你需要使用 classes 来编译包。