Frage

Ich habe gerade mein neues COM Projekt Aufbau (C #, .NET 3.5). Dieses Projekt wird durch eine VFP-Anwendung aufgerufen werden. Es funktioniert großartig auf meine Entwicklung Maschine, aber jetzt muss ich wissen, wie es auf der Maschine des Benutzers bereitzustellen. Klicken Sie auf Einmal ist nicht für diese Art von Projekt zur Verfügung, so dass ich denke, ich bin stecken manuell die DLL verteilen.

Also, wo soll ich die DLL setzen und wie melde ich mich an das?

BTW, die 3.5 Framework bereits auf dem Computer des Benutzers installiert ist.

TIA

War es hilfreich?

Lösung

Ich habe nie wirklich RegSvr32 mit .NET-Assemblies verwendet, sondern verwende ich die regasm mit der Option / Option Code-Basis:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

Sie können auch die / TLB-Option verwenden, um die Typenbibliothek exportieren und registrieren Sie es.

Natürlich ist der einfachste Weg, nur ein Installationsprogramm mit VStudio erstellen und es wird dies für Sie tun.

Andere Tipps

eine Beschreibung der COM-Klasse erstellen und Schnittstellen

.NET-Assemblies enthalten keine Informationen in Type Library-kompatibles Format. So ist es notwendig, dass der Programmierer eine von zwei .Net-bereitgestellten Dienstprogramme ausführen, um die Montage Beschreibung einer Klasse in eine Type Library-Datei zu extrahieren.

Ein Dienstprogramm ist Tlbexp.exe, die .Net Type Library Exporter. Dieses Befehlszeilenprogramm nimmt als Eingabe den Namen einer Assembly-DLL-Datei in eine Typbibliothek umgewandelt werden. Der Programmierer kann auch den Namen einer Type Library-Datei angeben, erstellt werden.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

Sobald eine Typbibliothek erstellt wurde, kann es durch ein COM-Client referenziert werden, um die notwendigen Informationen für das COM-Client zu erhalten, um die Schnittstellen der COM-Klasse zu binden, und die COM-Klasse zur Laufzeit aktivieren.

Die Registrierung der COM-Klasse und Schnittstellen

Für eine COM-Klasse vom Client zur Laufzeit zugänglich zu sein, muss die COM-Infrastruktur wissen, wie Sie den Code zu finden, die die COM-Klasse implementiert. Der folgende Befehl erreicht dies:

regasm ComServer.dll

Ihre DLL kann überall gesetzt werden Sie wollen, aber eine gute Wahl ist. C: \ Programme \ MyApplication

http://www.csharphelp.com/archives/archive190.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top