gpt4 book ai didi

activex - ADODBC 无法从程序集中加载类型 'ADODB.FieldsToInternalFieldsMarshaler'

转载 作者:行者123 更新时间:2023-12-03 11:31:50 34 4
gpt4 key购买 nike

我正在尝试像这样读取 ADOBD.Recordset 对象(我的第一次,所以请原谅我的“noobness”:D):

Presentation.Category categorySvc = new Presentation.Category();
ADODB.Recordset categories = categorySvc.ListAll("BE", "DUE", "EN", 128);
foreach (var category in categories.Fields) // here is where I get the exception
{
// ...
}

ListAll 调用工作正常 - 我通过在对象上执行 QuickWatch 来确认包含一些数据的 Recordset。但是当代码到达 category.Fields 时,我得到以下异常:

Could not load type 'ADODB.FieldsToInternalFieldsMarshaler' from assembly 'TestCOMCalls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.



我在谷歌上搜索了这个错误(或者只是通过“ADODB.FieldsToInternalFieldsMarshaler”并找不到任何可以帮助我解决问题的东西)。

我想知道,我是否缺少引用?除了正常的引用资料之外,我还将此添加到我的项目中:

ADODB Microsoft ActiveX Data Objects 2.5 Library C:\WINDOWS\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll



就像我说的,我以前从来没有这样做过,但是通过谷歌搜索,我能够看到一些人这样做(object.Fields 上的 foreach)并且它似乎对他们有用。

非常感谢任何帮助或指导:)

谢谢!

最佳答案

它位于单个引用中 - 而不是在项目属性中。在解决方案资源管理器窗口中,打开“引用”(在项目下),然后单击有问题的引用。属性窗口将有一个用于嵌入互操作类型的选项(对于每个引用)。

在 Visual BAsic 2010 中:

要关闭嵌入互操作类型:

项目菜单 > 显示所有文件,解决方案资源管理器: > 引用文献: > ADODB > Embed Interof types = False。 Microsoft.Office.Interop.Access > Embed Interof types = False

您现在将能够发布,并且 ADODB 也将出现在:项目菜单 > 项目属性…发布选项卡 > 应用程序文件中

关于activex - ADODBC 无法从程序集中加载类型 'ADODB.FieldsToInternalFieldsMarshaler',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5666265/

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