Lc.exe (License Compiler-Tool)
Das License Compiler-Tool liest Textdateien mit Informationen über die Lizenzierung und erstellt eine Binärdatei, die als Ressource in eine ausführbare Datei der Common Language Runtime eingebettet werden kann.
Eine LICX-Textdatei wird vom Windows Forms-Designer automatisch generiert oder aktualisiert, sobald dem Formular ein lizenziertes Steuerelement hinzugefügt wird. Bei der Kompilierung wandelt das Projektsystem die LICX-Textdatei in eine binäre .licenses-Ressource um, die die Lizenzierung des .NET-Steuerelements unterstützt. Die binäre Ressource wird anschließend in die Projektausgabe eingebettet.
Kreuzkompilierung zwischen 32-Bit und 64-Bit wird nicht unterstützt, wenn Sie beim Erstellen des Projekts den Lizenzcompiler verwenden. Das liegt daran, dass der Lizenzcompiler Assemblys laden muss und das Laden von 64-Bit-Assemblys aus einer 32-Bit-Anwendung und umgekehrt nicht erlaubt ist. Verwenden Sie in diesem Fall den Lizenzcompiler in der Befehlszeile, um die Lizenz manuell zu kompilieren, und geben Sie die entsprechende Architektur an.
Das License Compiler-Tool wird automatisch mit Visual Studio installiert. Verwenden Sie zum Starten des Lizenz-Compilers die Visual Studio- und Windows SDK-Eingabeaufforderungen. Geben Sie an der Eingabeaufforderung Folgendes ein:
lc /target:targetPE /complist:filename [/outdir:path]
/i:modules [/nologo] [/v]
Option |
Beschreibungen |
---|---|
/complist:filename |
Gibt den Namen einer Datei mit der Liste der lizenzierten Komponenten an, die in die LICENSES-Datei eingebunden werden sollen. Auf die einzelnen Komponenten wird mit dem vollständigen Namen verwiesen, wobei pro Zeile jeweils nur eine Komponente aufgeführt wird. Benutzer der Befehlszeile können für jedes Formular des Projekts eine eigene Datei angeben. Lc.exe akzeptiert mehrere Eingabedateien und erstellt eine einzige LICENSES-Datei. |
/h[elp] |
Zeigt Befehlssyntax und Optionen für das Tool an. |
/i:module |
Gibt die Module an, die die in der Datei /complist aufgelisteten Komponenten enthalten. Verwenden Sie mehrere /i-Flags, um mehrere Module anzugeben. |
/nologo |
Unterdrückt die Anzeige des Startbanners von Microsoft. |
/outdir:path |
Gibt das Verzeichnis an, in dem die LICENSES-Ausgabedatei gespeichert werden soll. |
/target:targetPE |
Gibt die ausführbare Datei an, für die die LICENSES-Datei generiert wird. |
/v |
Gibt den ausführlichen Modus an und zeigt Statusinformationen zur Kompilierung an. |
/? |
Zeigt Befehlssyntax und Optionen für das Tool an. |
Beispiel
Wenn Sie ein lizenziertes Steuerelement mit dem Namen MyCompany.Samples.LicControl1 verwenden, das in der Anwendung HostApp.exe in Samples.DLL enthalten ist, können Sie die Datei HostAppLic.txt mit folgendem Inhalt erstellen.
MyCompany.Samples.LicControl1, Samples.DLL
Erstellen Sie die LICENSES-Datei HostApp.exe.licenses mit dem folgenden Befehl.
lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir
Erstellen Sie HostApp.exe mit der LICENSES-Datei als Ressource. Wenn Sie eine C#-Anwendung erstellt haben, erstellen Sie die Anwendung mit dem folgenden Befehl.
csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs
Mit dem folgenden Befehl wird myApp.licenses aus den von hostapplic.txt, hostapplic2.txt und hostapplic3.txt angegebenen Listen lizenzierter Komponenten kompiliert. Das Argument modulesList gibt die Module mit den lizenzierten Komponenten an.
lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList
Siehe auch
Referenz
Visual Studio- und Windows SDK-Eingabeaufforderungen