Es ist nicht ganz einfach, dies mit Visual Studio .NET zu bewerkstelligen, aber es ist machbar. Im Grunde müssen Sie Folgendes tun:
-
Erzeugen Sie Ihre TLB-Datei, z. B. "YourLibrary.tlb".
-
Erstellen Sie mit einem Texteditor (z. B. Notepad oder Datei/Neu/Datei.../Textdatei in Visual Studio) eine Win32-Ressourcenskriptdatei, z. B. "YourLibrary.rc".
-
Geben Sie in der Skriptdatei den folgenden Text wörtlich ein (ersetzen Sie aber natürlich den Namen Ihrer tatsächlichen TLB-Datei):
1 typelib "IhreBibliothek.tlb"
-
Speichern Sie die Skriptdatei in demselben Ordner wie die TLB-Datei.
-
Wechseln Sie in einer Visual Studio-Eingabeaufforderung in den Ordner mit der Skriptdatei und kompilieren Sie sie mit dem folgenden Befehl:
rc IhreBibliothek.rc
Dadurch wird eine Win32-Ressourcendatei im selben Ordner mit dem Namen "YourLibrary.res" erzeugt.
-
Klicken Sie in Visual Studio mit der rechten Maustaste auf den Projektknoten (z. B. "YourLibrary") im Projektmappen-Explorer und wählen Sie Eigenschaften.
-
Wählen Sie auf der Registerkarte "Anwendung" unter "Ressourcen" die Option "Ressourcendatei" und suchen Sie die Datei "YourLibrary.res" aus Schritt 5.
-
Speichern Sie das Projekt und erstellen Sie es neu.
Die TLB wird nun als Ressource in die DLL eingebettet, so dass andere COM-Anwendungen sie lesen können.
Wenn Sie die TLB-Datei später neu generieren, müssen Sie Schritt 5 wiederholen, um die Ressourcendatei neu zu kompilieren, und Schritt 8, um die neue Version in die DLL einzubetten.
All das gesagt, können Sie in der Lage, einige dieser mit Build Events oder durch benutzerdefinierte MSBuild Ziele in Ihre Projektdatei zu automatisieren, aber das ist eine ganz andere Diskussion.
1 Stimmen
Dieselben Schritte wie die Antwort unten, aber von MSDN: msdn.microsoft.com/de-us/library/ww9a897z.aspx