ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-06-25 13:53:16  阅读:470  来源: 互联网

标签:c reference visual-studio-2010 assemblies


让我先说一下,我不熟悉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参考,您可能需要参考ADO的主互操作程序集(ADODB).这可以在您的机器上的以下位置找到.添加对此的引用,你应该是好的.

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

希望以上让你前进.自从我搞砸COM以来已经太久了……内存可能有点模糊.请享用!

标签:c,reference,visual-studio-2010,assemblies
来源: https://codeday.me/bug/20190625/1286518.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有