长话短说,我是一个VisualBasic 6项目的维护者,该项目产生一个ActiveX COM DLL,该内部由大约50个在组织内部使用的软件包内部使用。
在过去的几年里,我们一直在关注语义版本" MAJOR.MINOR.PATCH"对于每个发布的DLL,并且每个版本都分配了一个唯一的GUID。即1.1.1和1.1.2具有单独的GUID。
它工作正常,但这会导致每个软件包都需要一个新版本 - 即使不需要 - 也只需这样它们就可以引用新的GUID并重新编译。由于内部发布流程,这浪费了几十个工时。
我的问题是,这会是一个不良的做法"维护每个MINOR版本的GUID,以便1.1.1,1.1.2甚至1.1.99具有相同的GUID?相反,每个主要版本的GUID会更好吗?
这将导致仅在更新主要版本或次要版本时更改引用,从而减少依赖于它的软件包所需的更改次数。
最后,如果它有助于响应,目前DLLS的名称为:MyActiveXDLL_vMAJOR.MINOR.PATCH.dll。
使用每个MINOR的GUID,我们将切换到MyActiveXDLL_vMAJOR.MINOR.dll
答案 0 :(得分:0)
可以通过不更改GUID(您可以在类构建器中设置它,并将其存储在您可以在记事本中打开源文件时可以看到的隐藏属性)来执行此操作,但是只能执行此操作你没有做出任何重大改变。
重大改变是:
在VB中,默认情况下,您将依赖自动生成的dispid,guids和接口。您可以使用类构建器将这些值设置为特定值。
您可以将初始值设置为先前版本中自动生成的值。您必须手动执行此操作 - 您必须在TLBVIEW中打开类型库以查明它们是什么。