Vb6项目文件和源安全

时间:2010-03-05 16:05:45

标签: com vb6 visual-sourcesafe

我正在处理的应用程序的一部分是传统的Vb6 Windows窗体应用程序。除Vb6项目文件外,项目中的所有文件都在源代码管理(VSS)下。从我在项目中工作的其他开发人员可以建立的原因是,项目中使用的com组件对每个开发人员机器都有不同的引用。我想将项目文件移动到VSS中,这样当文件添加到项目中时,可以在项目文件中更新这些文件,而其他开发人员(更重要的是自动构建脚本)可以从源安全获取最新的项目文件。

有没有人知道我是否可以通过不破坏不同开发机器上其他com组件的引用来实现这一目标?

3 个答案:

答案 0 :(得分:2)

我不同意你的同事。如果每个开发人员在他们的机器上需要不同的引用,我愿意打赌你有一些奇怪的COM类型正在使用。很可能你已经将CoClass类型和接口类型编译到你的dll中。

COM就是将接口与实现分离(尽管VB6最好通过为每个CoClass创建默认接口并且不告诉你它们来撤消它)。将类型移动到TLB类型库中,并在项目中引用它。让每台机器上的COM注册处理实例化的特定类;这就是它的用途。

如果你的团队正在努力解决COM引用问题,那么更深层次的问题是错误的。

答案 1 :(得分:0)

长话短说不,

真正的问题是开发人员没有从同一个地方获取他们的COM组件,因为他们在本地编译它们,或者他们正在获取同一组件的不同版本。如果COM对象不是在不断开发中,那么真正的解决方案是让所有开发人员安装他们需要的相同版本的组件。

答案 2 :(得分:0)

您需要维护一个描述开发项目文件夹结构的标准。例如,我总是建议创建一个替代驱动器SUBST。例如SUBST H:C:\ DEV_ \ APP \ Visual Studio 2008.这允许开发人员将他的东西放在他需要的地方。在这个“新”驱动器中,我推荐一个“系统”文件夹。每个COM对象和依赖项都放在一个子文件夹中。所有项目仅从H:/ System /引用COM对象。不同的COM版本进入新版本,版本作为文件夹名称的一部分。例如,C:\ DEV_ \ APP \ DEV \ SYSTEM \ Iocomp和C:\ DEV_ \ APP \ DEV \ SYSTEM \ Iocomp2。

(不要忘记从正确的路径注册COM对象,即“新”驱动器。)

我在启动时使用批处理文件来设置四个不同的开发驱动器。

使用SUBST的好处是,您可以退房到另一个文件夹,然后创建一个“H”驱动器到该文件夹​​,一切正常。

自1996年以来,我一直在使用这种技术,效果非常好。我从来没有遇到任何问题。最困难的部分是让其他人了解这项技术。