gpt4 book ai didi

c# - 现有 COM 引用或添加新引用时出错

转载 作者:太空狗 更新时间:2023-10-30 01:22:11 27 4
gpt4 key购买 nike

首先让我说我不熟悉 COM 引用,并且我在 Windows 7 64 位计算机上使用 VS2010。今天早上,我从 TFS 中删除了一个现有项目。然后我尝试构建项目并收到此错误:

The type or namespace name 'validatecom' could not be found (are you missing a using directive or an assembly reference?)

我收到这个警告:

Cannot get the file path for type library "d0b51ccc-aa31-47a1-b3ff-b8ed71c522a1" version 1.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))

当我检查引用时,果然,我在解决方案中唯一的 COM 引用中看到了黄色感叹号。经过一些毫无结果的测试后,我决定尝试添加一个新的 COM 引用。

添加引用 -> COM 选项卡 -> 随机 M$ 库

这会产生带有黄色感叹号的新引用。我尝试构建项目以查看是否出现相同的错误。这次我收到这个错误:

Encountered multiple versions of the assembly with GUID '23d736f1-acbc-11d3-b0e8-00104bff2710'. Try pre-importing one of these assemblies.

我收到这个警告:

Cannot find wrapper assembly for type library "ADODB".

我不知道这两个错误是否相关。如果没有,那么解决第一个肯定优先于最后一个。

最佳答案

要检查的另一件事是您的 COM 库是否已在 Windows 的注册表中注册,您可以这样做:

%windir%\system32\regsvr32 YourComLibrary.dll

接下来,您需要创建一个互操作 .NET DLL,它环绕着您试图在 C# 项目中引用的 COM 库。执行此操作的方法是运行类型库导入器 实用程序(使用 Visual Studio 2010 命令提示符):

tlbimp.exe YourComLibrary.dll /out:YourWrappedComLibrary.dll

至于 ADODB 引用,您可能需要引用Primary Interop Assembly for ADO (ADODB)。这可以在您机器上的以下位置找到。添加对此的引用,你应该很好。

C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\adodb.dll

希望以上内容能让您继续前进。自从我搞砸 COM 以来已经太久了……内存可能有点模糊。享受吧!

关于c# - 现有 COM 引用或添加新引用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14237766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com