在升级到Windows 10之后,我如何纠正这个ADODB在VB .NET中缺少的引用错误?

问题描述:

升级到Windows 10后,我收到了很多与我的VB .NET应用程序中的ADODB引用错误有关的错误。我执行了这个topic的答案中描述的步骤,似乎解决了参考错误。这个解决方案实际上让我的一些同事在他们的Windows 10系统上工作。不幸的是,在我使用Recordset的应用程序中的任何地方,我仍然收到此错误:在升级到Windows 10之后,我如何纠正这个ADODB在VB .NET中缺少的引用错误?

“需要组装'ADODB,Version = 2.5.0.0,Culture = neutral,PublicKeyToken = null'键入'ADODB.Recordset'。添加一个到你的项目。“我发现引用的位置是“C:\ Program Files(x86)\ Common Files \ System \ ado \ msado25.tlb”。有了这条路径,我尝试使用Tlbimp.exe注册msado25.tlb类型库,但它似乎没有任何帮助。

我有一种感觉,我失去了一些愚蠢的东西,但我不知道它是什么。任何帮助将不胜感激。谢谢。

这里有一些附加的相关截图,可以帮助:

ADODB Reference Properties

Registry

+0

您对该机器上的注册表造成了太多的损害,仍然可以理解屏幕截图。当您启动一个项目以将.NET 4.0或更高版本降级到3.5或更低版本时,会出现这种情况。版本号错误,屏幕截图显示2.5.0.0,但它必须是7.0.3300.0。也许你可以通过手动选择PIA来拯救它。从项目中删除ADODB引用。项目>添加参考>浏览按钮并导航到c:\ windows \ assembly \ adodb。 –

+0

我的同事工作站上的注册表与我的工作站上的注册表相匹配。我认为那里没有任何伤害。我使用的解决方案一直以.Net 3.5为目标,它从未针对.Net 4.0。我曾尝试添加7.0.3300.0(无需浏览,可通过Assemblies - > Extensions进行浏览),但当我这样做时,我遇到了很多其他错误。 – Volnyxxe

我有这个问题在Windows 10周年更新后,我通过使用tlbimp.exe是解决它。 tlbimp生成一个新的adodb.dll,你可以在你的项目中引用它。 “C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ tlbimp.exe”“C:\ Program Files(x86)\ Common Files \ System \ ado \ msado21.tlb”

类型库导入程序将COM类型库中找到的类型定义转换为公共语言运行库程序集中的等效定义。

+0

我可以发誓我以前那样做过。我真的很高兴我再次尝试,因为这次它工作。非常感谢您的时间和精力。 – Volnyxxe