O.K. also ich möchten gerade sagen, dass ich ein komplettes newb, wenn es zu programmierenthemen 64bit kommt, und nicht genau ein Experte in VB.net irgendein bin.
I haben ein Programm aufgebaut, das ein AutoCAD DLL 2011 COM-Interop benutzt, das zu \ zum Sortierfach dir auf Bau kopiert erhält. Dieses arbeitet tadellos an meiner 32bit XP Entwickler-Maschine. Jedoch, beim Schalten ein 64bit XP zu den Arbeitsplätzen die APP „nicht imstande wirft,/„zu werfen“ E_NOINTERFACE“, ist errors.
From, was ich das Problem gelesen habe, dass, wenn auf einem OS x64 die APP da ein Prozess x64 läuft und dann versucht, ein DLL x86 zu benennen, das nicht arbeitet. So habe ich versucht, die Projekteinstellungen zu ändern, um x86 zu zielen (manuell Innere .vsproj, da ich Eil VB08 verwende), aber das nicht scheint, auch nicht zu arbeiten. Ich habe das .vsproj zu x86 geändert, umgebaut der APP, überprüft, dass ich die Version x86 des DLLs im Faltblatt habe und es noch auf x64 maschinell bearbeitet… mich überprüfte im Aufgaben-Manager ausfällt, dass es in der Tat als x86 mit lief * nahe bei it.
I haben die Version 64bit des DLL auf den Maschinen 64bit lokalisiert, wenn ich gerade einfach/kopiere, um das DLL in \ im Sortierfach dir, die es tadellos an Maschinen x64, arbeitet sogar ohne die APP zu überschreiben Paste, die umgebaut wird. Jedoch, dass natürlich bricht, bearbeitet das 32bit…
How kann ich eine APP haben maschinell, die für Plattformen arbeitet und das korrekte DLL bezieht?
|