ActiveX/COM/VB6 企业项目的构建过程 [英] Buildprocess for ActiveX / COM / VB6 enterprise projects

查看:28
本文介绍了ActiveX/COM/VB6 企业项目的构建过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们使用微软的 ActiveX/COM (VB6) 技术开发了一个软件系统.去年,我对自动化构建过程和整个 SCM 越来越感兴趣.我在网上大量搜索了有关如何使用基于 COM 的软件系统进行 scm 的最佳实践的信息.

We have developed a software system using ActiveX/COM (VB6) technology from microsoft. In the last year, i get more and more interested in automated build processes and SCM at a whole. I intensively searched big parts of the web for information about best practices how to do scm with COM based software systems.

COM 的问题"是,引用组件通过唯一的接口 ID 保存引用.当您重新编译引用的组件时,id 可能会更改并且引用不再有效.这里的主要问题是,iid 被编译成二进制文件.因此,当我不想将编译后的文件签入版本控制时,每个开发人员都必须编译他/她自己的版本并获取其他 id.

The "problem" with COM is, that a referencing component holds the reference by an unique interface id. When you recompile the referenced component, the id may change and the reference isn't valid any more. The main problem here is, that the iid is compiled into the binary. So when i don't want to check in the compiled files into version control, every developer has to compile his/her own versions and gets other ids.

当我想在干净的构建机器上检查源代码来编译系统时,这是不可能的,因为所有的引用都是无效的(没有二进制文件,没有接口 ID).

When i want to check out the source on a clean build machine to compile the system, its just impossible, because all the references are invalid (no binary files, no interface ids).

我只是想知道,如果有一些最佳实践,如何为 COM 项目 (VB6) 设置自动构建系统?

Im just wondering, if there are some best practices floating around, how to set up an automated build sytem for COM projects (VB6)?

是的,我知道兼容性设置.但是以这种情况为例,我想在没有任何二进制文件的干净构建机器上构建 wohle 系统.当你说一个项目是二进制兼容时,你必须提供项目兼容的二进制文件.

Yes, im aware of the compatibility settings. But take the scenario, where i want to build the wohle system on a clean build machine without any binaries. When you say a project is binary compatible you have to provide the binary with which the project is compatible.

我想我必须编写一个自定义构建工具,它在编译项目之前和之后修改项目文件中的引用和兼容性设置.

I think i have to write a custom build tool, which modifies references and compatibility settings in the project files before and after compiling the projects.

因为 VB6/COM 是一种非常普及的技术,我只是想必须有一个现成的解决方案.

Because VB6 / COM is a really wide spread technology, i was just thinking that there has to be a ready to use solution.

我们通常以二进制兼容性进行编译.当我们修改一个组件的公共接口时,我们以项目兼容性进行编译.但是当你改变一个被许多其他组件使用的基本组件的接口时,你必须手动将所有引用项目更改为项目兼容性,重新编译它们并改回二进制兼容性.这就是我想要自动化的主要过程.

We normally compile with binary compatibility. When we modify the public interface, of a component, we compile with project compatibility. But when you change the interface of a basic component which is used by a lot of other components, you have to manually change all referencing project to project compatibility, recompile them and change back to binary compatibility. Thats the main process i want to automate.

推荐答案

Visual Build Pro.如果您仍然停留在 VB6 领域,并且必须构建专业产品,我强烈建议您研究这个产品.它提供免费试用,每一分钱都物有所值(此外,它在 .Net 和其他平台的持续集成方面做得非常好.)自从我们开始使用它以来,它在每次发布时都将我们从 DLL 地狱中拯救了出来.我知道没有其他方法可以在 VB6 中创建一个像样的构建框.

Visual Build Pro. If you are still stuck in VB6 land, and have to build professional products I highly recommend you look into this product. It has a free trial and is worth every penny (plus it does a pretty good job of continuous integration for .Net and other platforms.) It has saved us from DLL hell on every release since we started using it. There is no other way I know of to create a decent build box in VB6.

这篇关于ActiveX/COM/VB6 企业项目的构建过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆