Was bedeutet "für COM-Interop Registrieren" eigentlich tun?
Was genau macht das VS-Projekt die option "für COM-interop Registrieren" eigentlich tun? Denn wenn ich bauen meine Bibliothek diese option aktiviert ist, kann ich rufen Sie CreateObject auf meine Bibliothek von VBScript. Aber wenn ich aufbauen, ohne diese und führen Sie dann regasm manuell CreateObject fehlschlägt. So Frage ich mich-was macht VS2010 tun, dass ich es nicht mache?
InformationsquelleAutor der Frage hackerhasid | 2010-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tut es das gleiche wie laufen Regasm.exe mit der Option /tlb und /codebase Optionen. Die option /codebase ist wahrscheinlich die, die Sie vergessen haben. Regasm mag, vorausgesetzt, Sie legen Sie die DLL in den GAC und generiert eine Warnung, wenn Sie nicht. Der GAC ist in der Tat ein sehr guter Weg, um zu vermeiden, DLL-Hölle, immer ein COM-problem. Aber nicht angemessen auf Ihre dev-Maschine, wollen Sie nicht zu verschmutzen GAC während die Entwicklung und das testen des Codes. Es kommt nur darauf an, die auf Ihrem Computer eines Benutzers, der eine, der wahrscheinlich ausgesetzt werden, um mehrere Versionen.
Verwenden die falsche version Regasm.exe auf einem 64-bit-Maschine ist ein weiterer Weg, um in Schwierigkeiten zu bringen, gibt es in der Regel 4-Versionen auf Ihrem Rechner. Sicher sein, zu unterscheiden, die 32-bit-und 64-bit-Versionen (c:\windows\microsoft\framework vs framework64), die Sie schreiben, andere registry-keys. Sie wollen, wählen Sie diejenige, die kompatibel ist mit der client-app. Mit beiden ist auch okay, .NET-code ausführen kann, in beiden Modi, aber ziemlich ungewöhnlich. Der Unterschied zwischen der v2.0.50727 (.NET 2.0 bis 3.5SP1) und der v4.0-Versionen. Die Auswahl der richtigen Visual Studio-Eingabeaufforderung) ist die Hälfte der Schlacht.
InformationsquelleAutor der Antwort Hans Passant