Lc.exe (License Compiler-Tool)
Der Lizenzcompiler 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 von der Befehlszeile aus, um die Lizenz manuell zu kompilieren, und geben Sie die entsprechende Architektur an.
Dieses Tool wird automatisch mit Visual Studio installiert. Um das Tool auszuführen, verwenden Sie die Developer-Eingabeaufforderung von Visual Studio oder Visual Studio Developer PowerShell.
Geben Sie an der Eingabeaufforderung Folgendes ein:
Syntax
lc /target:
targetPE /complist:filename [-outdir:path]
/i:modules [/nologo] [/v]
Option | Beschreibung |
---|---|
/complist: filename | Gibt den Namen einer Datei an, die die Liste der lizenzierten Komponenten enthält, 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 /complistaufgelisteten 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. |
@ file | Gibt die Antwortdatei (.rsp) an. |
/? | Zeigt Befehlssyntax und Optionen für das Tool an. |
Beispiel
Wenn Sie das lizenzierte Steuerelement
MyCompany.Samples.LicControl1
verwenden, das inSamples.DLL
in einer Anwendung namensHostApp.exe
, enthalten ist, können SieHostAppLic.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 modulesList
-Argument gibt die Module mit den lizenzierten Komponenten an.
lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList
Beispiel für eine Antwortdatei
Die folgende Auflistung enthält ein Beispiel für eine Antwortdatei namens response.rsp
. Weitere Informationen zu Antwortdateien finden Sie unter Antwortdateien.
/target:hostapp.exe
/complist:hostapplic.txt
/i:WFCPrj.dll
/outdir:"C:\My Folder"
In der folgenden Befehlszeile wird die response.rsp
Datei verwendet.
lc @response.rsp