visual-studio - 管理 Visual Studio 项目、通过 BimlStudio 进行资产更改、版本控制
问题描述
对于来自使用 Visual Studio 和 TFVC 的手动 SSIS 包创建和修改范例的人,我正在努力“了解” BimlStudio 和源代码控制工作流程。
我有一个 BimlStudio 项目,它发出 SSIS 项目(dtproj 文件)和相关的包、连接等。我想使用 BimlStudio 和 TFVC 将它全部置于源代码控制(.biml 和 .dtsx 文件)之下。
我怎样才能比我目前似乎能够做的更精确地管理我的源代码更改。
假设我有一个需要更改的包。包(就像我所有的包一样)是通过外部元数据(不属于我的 BIML 项目的元数据)定义的。我唯一做出改变的地方就是那个元数据。
在进行外部元数据更改后,我构建了我的 BIML 项目。
由于整个项目是重新构建的,它会发出一个更新的包,其中包含来自外部元数据的更改,并发出未发生更改的包的更新实例。
我在 Visual Studio 中打开我更新的项目。
使用文件“diff”工具,我将任何软件包与其之前的构建版本进行比较。每个“差异”表明每个包都有所有新的 GUID 用于它的各种组件。
由于所有包的内部 GUID 都会随着每个 BIML 构建而改变,所以我在一次更改周围得到了如此疯狂的“噪音”。是的,我可以通过包元数据分配静态包 GUID,但我不会对包中的每个子组件都这样做。还是我?(请说不)
有人可能会争辩说,既然我知道发生了什么变化,我只签入一个包裹。但生活会发生。我周五下班,周一回来,然后问:“我做了什么改变?” 或者我将我的工作交给另一个开发人员,他们需要知道发生了什么变化,等等。
我如何才能最好地解决这个问题?
此外,SSIS 工件(以及我的 BimlStudio 项目的输出文件夹中的所有其他文件)甚至包含在 BimlStudio 的源代码控制下还是仅包含在 .biml、.bimlproj、.bspcap 和 .mst 文件下?
如果 BimlStudio 的版本控制中不包含 SSIS 工件,那么它们可以通过 Visual Studio 自由添加到 TFVC,对吗?
解决方案
这是我们使用的方法:
- 不要签入 SSIS 包。在 BIML 解决方案中,可以将 SSIS 包视为构建文件。使用忽略文件排除它们。因为它们是动态创建的,所以如您所说,它们将始终在重新创建时更改。
- (将静态 GUID 分配给连接)
推荐阅读
- oracle - SQL Oracle - 双约束不为空
- java - 告诉低级对象使用哪个工厂的好方法是什么?
- arrays - 从数组结构渲染 json 的问题
- r - 结合 POSIXct 给出错误的时间
- html - 引导下拉菜单不弹出
- powershell - 如何创建包含文件元数据和文件内容的 CSV?
- c++ - 使用共享事件循环移除循环依赖
- powershell - 在 powershell 中创建带有辅助 yaxis 的 Excel 图表
- regex - 按空格将字符串拆分为数组,除非部分被引用,golang 中例外
- javascript - 即使在页面重新加载后如何在浏览器控制台中连续运行 JavaScript 代码