Lc.exe (Compilatore licenze)
Il Compilatore licenze legge file di testo contenenti informazioni sulla licenza e produce un file binario che è possibile incorporare come risorsa in un eseguibile di Common Language Runtime.
Un file LICX viene generato o aggiornato automaticamente mediante Progettazione Windows Form ogni volta che un controllo concesso in licenza viene aggiunto al form. Durante la compilazione, il file di testo LICX viene convertito in una risorsa binaria con estensione licenses che fornisce il supporto per la gestione delle licenze dei controlli .NET. La risorsa binaria verrà quindi incorporata nell'output del progetto.
La compilazione incrociata fra 32 bit e 64 bit non è supportata quando si usa il Compilatore licenze nel corso della compilazione del progetto. Questo avviene perché il Compilatore licenze deve caricare assembly e non è consentito caricare assembly a 64 bit da un'applicazione a 32 bit e viceversa. In questo caso, usare il Compilatore licenze dalla riga di comando per compilare manualmente la licenza e specificare l'architettura corrispondente.
Viene installato automaticamente con Visual Studio. Per eseguire lo strumento, usare il prompt dei comandi per gli sviluppatori di Visual Studio o Visual Studio Developer PowerShell.
Al prompt dei comandi digitare quanto segue:
Sintassi
lc /target:
targetPE /complist:filename [-outdir:path]
/i:modules [/nologo] [/v]
Opzione | Descrizione |
---|---|
/complist: filename | Specifica il nome di un file contenente l'elenco dei componenti provvisti di licenza da includere nel file LICENSES. A ciascun componente viene fatto riferimento mediante il nome completo, specificando un solo componente per riga. Se si usa la riga di comando sarà possibile specificare un file separato per ciascun form del progetto. Lc.exe accetta più file di input e produce un unico file LICENSES. |
/h[elp] | Visualizza la sintassi e le opzioni di comando dello strumento. |
/i: modulo | Specifica i moduli contenenti i componenti elencati nel file /complist. Per specificare più moduli, usare più flag /i. |
/nologo | Evita la visualizzazione del messaggio di avvio Microsoft. |
/outdir: path | Specifica la directory in cui inserire il file LICENSES di output. |
/target: targetPE | Specifica l'eseguibile per cui viene generato il file LICENSES. |
/v | Specifica la modalità dettagliata. Visualizza le informazioni sullo stato della compilazione. |
@file | Specifica il file di risposta (.rsp). |
/? | Visualizza la sintassi e le opzioni di comando dello strumento. |
Esempio
Se si usa un controllo con licenza
MyCompany.Samples.LicControl1
contenuto inSamples.DLL
all'interno di un'applicazione denominataHostApp.exe
, è possibile creare il fileHostAppLic.txt
includendo gli elementi seguenti.MyCompany.Samples.LicControl1, Samples.DLL
Creare il file LICENSES denominato
HostApp.exe.licenses
usando il comando che segue.lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir
Compilare
HostApp.exe
includendo il file LICENSES come risorsa. Se l'applicazione fosse in C#, si utilizzerebbe il seguente comando per compilarla:csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs
Il comando che segue compila myApp.licenses
sulla base degli elenchi di componenti provvisti di licenza specificati da hostapplic.txt
, hostapplic2.txt
e hostapplic3.txt
. L'argomento modulesList
specifica i moduli contenenti i componenti provvisti di licenza.
lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList
Esempio di file di risposta
Nell'elenco seguente è riportato un esempio di file di risposta, response.rsp
. Per altre informazioni sui file di risposta, vedere File di risposta.
/target:hostapp.exe
/complist:hostapplic.txt
/i:WFCPrj.dll
/outdir:"C:\My Folder"
La riga di comando seguente usa il file response.rsp
.
lc @response.rsp