32Bit-Modul in 64Bit-Anwendung verwenden / JetEntityFramworkProvider

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VB2021Aug.

    32Bit-Modul in 64Bit-Anwendung verwenden / JetEntityFramworkProvider

    Hallo ihr Lieben,

    meine Frage könnte allgemein lauten: "Wie kann man ein 32Bit-Modul in einer 64Bit-Anwendung einbinden?"

    Ich möchte ein VSTO-Add-IN z.B. für Word mit den Einstellungen "Any-CPU" entwickeln, welches auf eine "alte" Access-Datenbank (.mdb) zugreifen soll.
    Die Microsoft-Jet-Engine ist in 32Bit entwickelt und daran wird sich auch nichts (mehr) ändern.
    Also muss ich irgendeinen Weg finden, die beiden Welten in "friedlicher Koexistenz" zu verbinden.
    Nach der Installation des "JetEntityFrameworkProvider" erhalte ich eine Warnmeldung, dass es zu Problemen kommen könnte - "Dankeschön!", doch ich will das VSTO-AddIn nicht auf 32Bit-Offices beschränken.
    Dass man auf einer 32Bit-Maschine keine 64Bit-Programme laufen lassen kann, das dürfte nur zu verständlich sein, aber umgekehrt sollte es eigentlich keinen Grund geben, warum das nicht prinzipiell möglich sein soll.

    Also Danke an alle freundlichen Mitdenker!

    VB2021Aug schrieb:

    "Wie kann man ein 32Bit-Modul in einer 64Bit-Anwendung einbinden?"
    Gar nicht.
    Die lange Antwort:
    Das geht so nicht.
    Skizze:
    zwei getrennte Programme (32 und 64 Bit) die sich per TCP unterhalten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vielen Dank RodFromGernany!

    Danke für die Antwort! Ja, wirklich!
    Geht es nur mir so, dass ich die Antwort wenig zufriedenstellend finde?
    Es geht wirklich nicht um deine Mühe, mir zu antworten, aber ich vermute, dass das Problem häufiger auftritt.

    Das Problem bei mir ist, ich entwickle und im Visual Studio wird die "Testverbindung" geöffnet. In Word ist der Datenprovider unbekannt.
    Das hatte ich an anderer Stelle auch umgekehrt, in einer VSTO funktioniert die Datenbindung in Word (2019 64Bit installiert),
    aber derselbe Programmtext funktioniert in einem normalen Windows-Forms-Projekt nicht.
    Hier war es unabhängig davon, ob ich in 32 oder 64Bit kompiliere - geht beides nicht!

    Kann also sein, dass das ganze nichts mit 32 oder 64Bit zu tun hat, andererseits liegt die Vermutung nahe.
    PS: mein Visual Studio zeigt nur "SQL Server Datenprovider" ich würde aber gern einen OLE-DB Datenprovider verwenden.

    VB2021Aug schrieb:

    Geht es nur mir so, dass ich die Antwort wenig zufriedenstellend finde?
    Soll ich Dir jetzt schreiben, wie ich 2 (zwei) Monate probiert habe, eine 32-Bit-DLL in ein 64-Bit-Projekt einzubinden?
    Weißt Du, was das Resultat war:
    Geht nicht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!