【发布时间】:2017-06-20 15:45:27
【问题描述】:
最近我已将我们所有的 SSIS 项目添加到持续集成管道中。这些项目使用 TeamCity 中的 MSBuild 构建,打包并推送到 nuget 提要。我们使用 Octopus 和一些建立在后台 SQL 服务器管理对象 (SMO) 上的手动 PowerShell 来部署它们。除了一个项目外,这一切都有效。有问题的项目包含一些引用外部程序集的脚本任务。该程序集是在同一管道中构建的,并且其程序集版本号由该过程的一部分更新。问题在于 SSIS 项目现在引用 GAC 中的强命名 dll,由于版本号已更改,该 dll 不存在。
有谁知道在构建时更新 CI 服务器上的引用或在部署时覆盖版本号的方法?
【问题讨论】:
-
你有没有找到一个好方法来做到这一点?遇到类似的问题
-
我们最终停止更新程序集引用,因此我们拥有一个具有静态版本号的强命名 dll,我们可以从 SSIS 包中引用它。这远非理想,并且给我们留下了技术债务,因为每次我们分支代码或进行任何重大更改时,我们都需要手动更新版本号。这是必要的,因此我们不会用新版本覆盖 gac 中现有的 dll,这将为已经存在的 SSIS 包提供不同的功能。如果您找到更好的方法,我很想听听您是如何实现这一目标的。
标签: c# powershell ssis msbuild gac