首页 > 解决方案 > 管理 Visual Studio 项目、通过 BimlStudio 进行资产更改、版本控制

问题描述

对于来自使用 Visual Studio 和 TFVC 的手动 SSIS 包创建和修改范例的人,我正在努力“了解” BimlStudio 和源代码控制工作流程。

我有一个 BimlStudio 项目,它发出 SSIS 项目(dtproj 文件)和相关的包、连接等。我想使用 BimlStudio 和 TFVC 将它全部置于源代码控制(.biml 和 .dtsx 文件)之下。

我怎样才能比我目前似乎能够做的更精确地管理我的源代码更改。

假设我有一个需要更改的包。包(就像我所有的包一样)是通过外部元数据(不属于我的 BIML 项目的元数据)定义的。我唯一做出改变的地方就是那个元数据。

在进行外部元数据更改后,我构建了我的 BIML 项目。

由于整个项目是重新构建的,它会发出一个更新的包,其中包含来自外部元数据的更改,发出未发生更改的包的更新实例。

我在 Visual Studio 中打开我更新的项目。

使用文件“diff”工具,我将任何软件包与其之前的构建版本进行比较。每个“差异”表明每个包都有所有新的 GUID 用于它的各种组件。

SSIS 示例包差异

由于所有包的内部 GUID 都会随着每个 BIML 构建而改变,所以我在一次更改周围得到了如此疯狂的“噪音”。是的,我可以通过包元数据分配静态包 GUID,但我不会对包中的每个子组件都这样做。还是我?(请说不)

有人可能会争辩说,既然我知道发生了什么变化,我只签入一个包裹。但生活会发生。我周五下班,周一回来,然后问:“我做了什么改变?” 或者我将我的工作交给另一个开发人员,他们需要知道发生了什么变化,等等。

我如何才能最好地解决这个问题?

此外,SSIS 工件(以及我的 BimlStudio 项目的输出文件夹中的所有其他文件)甚至包含在 BimlStudio 的源代码控制下还是仅包含在 .biml、.bimlproj、.bspcap 和 .mst 文件下?

如果 BimlStudio 的版本控制中不包含 SSIS 工件,那么它们可以通过 Visual Studio 自由添加到 TFVC,对吗?

标签: visual-studiossisbiml

解决方案


这是我们使用的方法:

  • 不要签入 SSIS 包。在 BIML 解决方案中,可以将 SSIS 包视为构建文件。使用忽略文件排除它们。因为它们是动态创建的,所以如您所说,它们将始终在重新创建时更改。
  • 将静态 GUID 分配给连接

推荐阅读