ADODBCoulait pas charger le type 'ADODB.FieldsToInternalFieldsMarshaler' à partir de l'assembly
Je suis en train de lire un ADOBD.Objet Recordset comme ceci (ma première fois, donc, pardon pour mon "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
{
//...
}
La ListAll appel fonctionne très bien - je obtenir le jeu d'enregistrements avec des données que je confirme qu'en faisant un espion express sur l'objet. Mais lorsque le code d'atteindre les catégories.Champs je obtenir de l'exception suivante:
Ne pouvait pas le type de charge
"ADODB.FieldsToInternalFieldsMarshaler'
à partir de l'assembly 'TestCOMCalls,
Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null".
J'ai googlé cette erreur (ou simplement par " ADODB.FieldsToInternalFieldsMarshaler " et ne pouvais pas trouver quelque chose qui pourrait m'aider avec le problème).
Je me demande, suis-je raté une référence? En plus de la normale références que j'ai ajouté à mon projet:
ADODB
Microsoft ActiveX Data Objects 2.5 Bibliothèque
C:\WINDOWS\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll
Comme je l'ai dit, je n'ai jamais fait cela avant, mais par googler un peu j'ai pu voir quelques gens qui font cela (foreach sur l'objet.Champs), et il semble fonctionner pour eux.
Toute aide ou d'orientation est très apprécié 🙂
Merci!
source d'informationauteur wdanda
Vous devez vous connecter pour publier un commentaire.
C'est sur la personne de références - pas dans les propriétés du projet. Dans la fenêtre explorateur de solutions, ouvrez "Références" (dans le cadre du projet), et cliquez sur la référence en question. La fenêtre des propriétés auront une option pour Incorporer les Types Interop (par chaque référence).
Dans Visual BAsic 2010:
Pour désactiver Incorporer les Types Interop:
Menu projet > Afficher Tous les Fichiers, l'Explorateur de solutions: > Références: > ADODB > Incorporer Interof types = False. Microsoft.Bureau de.Interop.Accès > Incorporer Interof types = False
Vous allez maintenant être en mesure de publier et aussi ADODB apparaîtra dans l': Menu Projet > Propriétés du Projet... ONGLET "Publier" > Fichiers de l'Application
Résolu:
L'Explorateur de solutions --> Afficher tous les fichiers (Menu) --> Referances --> Adodb -->(propriétés) -->Incorporer les Types Interop --> False.
Un peu à ajouter:
SolutionExplorer --> voir Tous les Fichiers.
Pour ADODB:
- Intégrer... = False;
- Copie Locale = True.
Eu le même problème en VS 2013, et la solution est que vous allez à
Références et sélectionnez ADODB, sur propriétés, vous verrez Intégrer Interof types = Vrai alors changer la valeur false.
Ok, j'ai compris comment faire: