.net 无法更新VB6项目引用

.net 无法更新VB6项目引用,.net,vb6,ocx,.net,Vb6,Ocx,我们正在VB6环境中开发OCX控件(请不要问为什么…) 此OCX必须与.net dll接口。到目前为止,一切顺利。 但是最近我们在dll的主类中添加了两个属性,并且需要向ocx使用者提供对它们的访问。 我们对dll进行了强命名,用regasm注销它,然后用/codebase和/tlb参数再次注册它。一切顺利。 但是VB6项目继续使用以前的版本,因此缺少新的属性。 我们能做些什么来克服这种烦恼? 当然,我们取消选中引用、存储项目、关闭环境、重新打开环境、刷新引用等等都是徒劳的。 TIA所有的问题是

我们正在VB6环境中开发OCX控件(请不要问为什么…) 此OCX必须与.net dll接口。到目前为止,一切顺利。 但是最近我们在dll的主类中添加了两个属性,并且需要向ocx使用者提供对它们的访问。 我们对dll进行了强命名,用regasm注销它,然后用/codebase和/tlb参数再次注册它。一切顺利。 但是VB6项目继续使用以前的版本,因此缺少新的属性。 我们能做些什么来克服这种烦恼? 当然,我们取消选中引用、存储项目、关闭环境、重新打开环境、刷新引用等等都是徒劳的。
TIA

所有的问题是我们忘记在dll中主类的接口定义中包含新属性。
一旦完成,上述步骤就可以顺利运行。

必须将其缓存到某些地方,其中有一些问题:1)新属性是否标记为公共?2) 您正在GAC中部署DLL吗?(如果使用/codebase参数,则不应这样做)。3) 在VB6中,是否直接引用TLB文件以添加OCX控件?(如果是,请检查您使用的TLB是否是regasm生成的最新TLB。您也可以使用以下命令反汇编TLB文件:)到目前为止,向regasm/codebase注册dll已经足够了。当然,生成的tlb是正确的,因为我们使用/tlb参数。当然,新房产是公开的。tlb指向的就是那个,“它必须缓存在某个地方”。。。是的,我想你是对的。。。但问题是:在哪里?怎么知道在哪里?