在vb6中重置项目兼容性 [英] Resetting project compatibility in vb6

查看:564
本文介绍了在vb6中重置项目兼容性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我们破坏vb6 dll中的兼容性时,我必须执行以下操作:

When we break compatibility in a vb6 dll I have to do the following:


  1. 设置为无二进制兼容性

  2. 重新编译

  3. 再次设置兼容性

  4. 从使用它的所有项目中删除对已更改dll的引用

  5. 添加引用回所有使用它的项目

  6. 重新编译所有这些项目


  1. Set to no binary compatibility
  2. Recompile
  3. Set compatibility again
  4. Remove reference to changed dll from all projects that use it
  5. Add reference back to all projects that use it
  6. Recompile all those projects
  7. Do the same for any projects that use those projects, etc.

当然,这有点简化,但任何人谁做了之前应该知道我在说什么。

Of course that's a little bit simplified but anyone who's done it before should know what I'm talking about.

我的问题是:你找到了一个更好的方法来做到这一点,或者你发现任何(不是太贵)工具来促进这一进程?或者更好,你创建了一个,你可以与我分享:)

My question is: Have you found a better way to do this, or have you found any (not too expensive) tools to facilitate this process? Or better yet, have you created one that you can share with me :)

请注意,我要问如何使这个过程更容易,而不是如何避免它。所以,请不要给出关于破坏兼容性有多糟糕的答案,我们不应该这样做。我住在现实世界里,有一些我不能控制的东西,我只是想处理我所拥有的东西。

Note that I'm asking how to make this process easier, not how to avoid it. So please don't give answers about how bad it is to break compatibility and that we shouldn't do that. I live in the real world where there are things outside of my control and I'm just trying to deal with what I've got.

推荐答案

在之前的工作中,我们有一个巨大的VB6应用程序,其中包含了许多VB6 DLL,我们在项目组的项目中引用了这些DLL。

In a previous job I had, we had a huge VB6 application that contained dozens of VB6 DLLs that we referred across the projects in our project group. We were breaking compatibility often, and manually updating the references like you describe was not an option.

我们最初开发了一个工具,可以更新所有.vbp文件中的引用文件夹,打破和重新编译后,但我最终发现了Visual Build由Kinook软件(www.kinook.com)可以自动处理这个。

We initially developed a tool that would update references in all .vbp files in a folder after breaking and recompiling, but I eventually found Visual Build by Kinook Software (www.kinook.com) which could deal with this automatically.

我使用他们的解决方案为许多多年成功。他们的制作VB6行动(http://www.kinook.com/VisBuildPro/Manual/makevb6.htm)有什么好处是,它可以构建一个依赖关系树,并以正确的顺序重建项目组中的所有项目,

I used their solution for many years with success. What's good about their "Make VB6" action (http://www.kinook.com/VisBuildPro/Manual/makevb6.htm) is that it can build a dependency tree and rebuild all your projects in your project group in the right order, while updating references accordingly.

对于您的场景,您需要将设置版本兼容性之前的版本选项设置为无兼容性,然后选中设置二进制兼容性复选框,以便项目在构建后恢复到二进制兼容性。

For your scenario, you would need to set the "Set version compatibility before building" option to "No compatibility", and then check the "Set binary compatibility" checkbox so that projects are reverted back to binary compatibility after building.

如果您有项目需要维护二进制兼容性, vbg,它不会重建它。

If you have projects that you need to maintain binary compatibility for, just leave them outside the .vbg and it won't rebuild it.

这篇关于在vb6中重置项目兼容性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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