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 di testo 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 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 utilizza il Compilatore licenze in caso di 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, utilizzare il Compilatore licenze dalla riga di comando per compilare manualmente la licenza e specificare l'architettura corrispondente.
Il Compilatore licenze viene installato automaticamente con Visual Studio. Per iniziare Compilatore licenze, utilizzare Prompt dei comandi di Visual Studio e Windows SDK. Al prompt dei comandi digitare quanto segue:
lc /target:targetPE /complist:filename [/outdir:path]
/i:modules [/nologo] [/v]
Opzione |
Oggetto di descrizione |
---|---|
/complist:nomefile |
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 unico componente per riga. Se si utilizza 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 dei comandi dello strumento. |
/i:modulo |
Specifica i moduli contenenti i componenti elencati nel file /complist. Per specificare più moduli, utilizzare più flag /i. |
/nologo |
Evita la visualizzazione del messaggio di avvio Microsoft. |
/outdir:percorso |
Specifica la directory in cui inserire il file di output LICENSES. |
/target:PEdestinazione |
Specifica l'eseguibile per cui viene generato il file LICENSES. |
/v |
Specifica la modalità dettagliata. Visualizza informazioni sullo stato della compilazione. |
/? |
Visualizza la sintassi e le opzioni dei comandi dello strumento. |
Se si utilizza un controllo con licenza MyCompany.Samples.LicControl1 contenuto in Samples.DLL all'interno di un'applicazione denominata HostApp.exe*,* è possibile creare il file HostAppLic.txt includendo i seguenti elementi.
MyCompany.Samples.LicControl1, Samples.DLL
Creare il file LICENSES denominato HostApp.exe.licenses utilizzando 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