管理 Visual Studio 项目,通过 BimlStudio 进行资产变更,版本控制

Managing Visual Studio Project, Asset Changes via BimlStudio, Version Control

对于使用 Visual Studio 和 TFVC 手动创建和修改 SSIS 包的人来说,我正在努力 'grok' BimlStudio 和源代码控制工作流程。

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

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

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

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

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

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

使用文件 "diff" 工具,我将任何软件包与其之前的构建版本进行比较。每个 "diff" 表明每个包都有所有不同组件的所有新 GUID。

由于所有包的内部 GUID 都随着每个 BIML 构建而变化,因此我得到了围绕我的一个变化的疯狂数量 "noise"。是的,我可以通过包元数据分配静态包 GUID,但我 不会 对我包中的每个子组件都这样做.还是我? (请说不)

有人可能会争辩说,因为我知道发生了什么变化,所以我只签入了一个包裹。但是生活发生了。我在周五离开我的工作,周一回来,我会说,"What change did I make?" 或者我将我的工作交给另一个开发人员,他们需要知道发生了什么变化,等等。

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

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

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

这是我们使用的方法:

  • 不要签入 SSIS 包。在 BIML 解决方案中,可以将 SSIS 包视为构建文件。使用忽略文件来排除它们。因为它们是动态创建的,所以它们总是会像您所说的那样在重新创建时发生变化。
  • (Assign static GUIDs to connections)