Quel est le message d'erreur réel (et pas juste le code) ?
J'interviens principalement en VB6, VB.NET et C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict".
Voici le message donné lors de la compilation
Erreur BC31424 Le type 'System.Data.OleDb.OleDbConnection' dans l'assembly 'TestDBWinFormNET, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' a été transmis à l'assembly 'System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Soit une référence à 'System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' est absente du projet soit le type 'System.Data.OleDb.OleDbConnection' est absent de l'assembly 'System.Data.OleDb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
Mais déjà dans l'éditeur, les codes que j'ai donnés comme exemple sont soulignés avec un message immédiat "Type non déclaré".
Merci,
Sam
Dans le configuration de ton projet, tu es en x86, x64 ou AnyCPU ?
Je crois que cette distinction n'intervient qu'au moment de la compilation. Or, l'erreur se manifeste déjà dans l'éditeur en soulignant en rouge ces lignes de codes. C'est comme si l'import n'existait pas.
Mais pour répondre plus exactement à ta question, j'ai compilé en AnyCPU et en x64, et rien n'y change.
De mémoire, OleDB requiert d'être en x86.
Non, le programme que je tente de passer en Net 7.0 était compilé en AnyCPU sous le FrameWork 4.6.
Mais pour être sûr, je viens de compiler sous x86 et effectivement, ça ne change rien.
C'est comme s'il disposait d'une DLL "vide" : System.Data.OeDb sans aucun type défini !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
Je veux ici être plus précis sur la description du problème rencontré. Pour cela, je crois que les copies d'écran suivantes devraient faire l'affaire.
La première illustration montre l'erreur BC30002 constatée dès l'écriture "normale" du code.
La seconde montre l'erreur BC31424 qui vient quand on écrit le chemin complet dans la déclaration.
Bonne journée,
Sam
Bonjour
Peux tu poster une capture des références du projet ?
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Bonjour Whismeril,
La librairie est bien référencée, il n'y a d'ailleurs aucun "warning" dans l'éditeur au niveau de l'Imports.
Mais je viens de comprendre le problème (ou plutôt un intervenant qui planchait sur le même problème sur un autre forum, vient de poster la solution).
Il faut que le NuGet du System.Data.OleDb soit installé. Il faut donc lancer l'administrateur de NuGet et charger la librairie comme illustré ci-dessous.
Merci pour ton intervention.
Oui, c'est pour ça que je te demandais la capture.
Les framework 6 et 7 sont des "coques vides", il faut tout installer quand on en a besoin.....
Bonjour,
Sur l'image du poste 7 la où il y a OleDbConnection souligné en rouge on voit en commantaire afficher les corrections éventuelles click sur le lien et tu devrais trouver l'option installer.
J'ai installé 2022 hier pour tester et j'ai du faire cette manipulation.
Ensuite,dans le cadre du débugage dynamique de l'application, il est possible qu'il faille choisir entre x86 ou x64 en fonction de la version du driver ODBC.
Bonjour Dysorthographie,
Non, les "corrections éventuelles" ne me proposaient pas d'installer. C'est peut-être normal vu que les frameworks sont déjà installés mais qu'ils sont, comme le signale ci-dessus Wismeril, des coques vides. En tous cas, ce qui était installé sur mon VS2022 ne contenait pas l'OleDb.
Le problème semble fréquent : https://stackoverflow.com/questions/...ized-in-vb-net
Merci pour ton intervention,
Sam