如何在C#中引用ADO RecordSet对象?
我正在使用 COM DLL,这是一个返回 ADO RecordSet 对象的函数调用,并希望在我的 C# 应用程序中引用它。
添加了引用,将 msado15,interop.adodb dll 放入 bin 目录和 debug 目录中,在 web.config
中添加了程序集密钥,但仍然出现以下错误:
类型“ADODB.Recordset”已定义 在未引用的程序集中。 您必须添加对程序集的引用 'ADODB,版本=7.0.3300.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'。
关于什么是正确的方法来做到这一点有什么想法吗?
编辑:我应该将哪个程序集添加到 GAC 中? 在哪里可以找到 ADODB.dll?
添加了对 c:\program files\microsoft.net\primary interop assemlies\adodb.dll 的引用并最终使其工作
I am using a COM DLL, a function call which returns an ADO RecordSet object and want to refer to it in my C# application.
Have added the reference, put the msado15,interop.adodb dll in the bin directory and debug directory, added assembly key in web.config
but still get the following error:
The type 'ADODB.Recordset' is defined
in an assembly that is not referenced.
You must add a reference to assembly
'ADODB, Version=7.0.3300.0,
Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'.
Any ideas on what is the right way to do this?
Edit:Which assembly do I add to GAC? Where can i find the ADODB.dll?
Added the reference to c:\program files\microsoft.net\primary interop assemlies\adodb.dll and got it working finally
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将项目中对 ADODB.dll 的引用更改为“复制本地”true。
Try changing your reference to ADODB.dll in your project to 'Copy Local' true.
顾名思义,程序集应该位于 GAC 中(名称中包含 publickeytoken)。
编辑:引发错误的互操作程序集应该位于 GAC 中。
或者从项目中删除引用并从 bin 目录添加对 dll 的引用。
The assembly should be in GAC as the name suggests (the name has publickeytoken in it).
EDIT: The interop assembly for which the error is raised should be in GAC.
OR remove the reference from your project and add the reference to the dll from the bin dir.