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

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

问题描述

我们使用Microsoft的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企业项目的Buildprocess的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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