Lc.exe (Compilador de licencias)
El Compilador de licencias lee archivos de texto que contienen información sobre licencias y crea un archivo binario que se puede incrustar como recurso en un archivo ejecutable de Common Language Runtime.
El Diseñador de Windows Forms genera o actualiza automáticamente un archivo de texto .licx siempre que se agrega al formulario un control con licencia. Como parte de la compilación, el sistema del proyecto transforma el archivo de texto .licx en un recurso binario .licenses que proporciona compatibilidad para la licencia de controles .NET. A continuación, el recurso binario se incrustará en los resultados del proyecto.
No se admite la compilación cruzada entre 32 y 64 bits cuando se usa la herramienta Compilador de licencias al generar el proyecto. Esto se debe a que el Compilador de licencias tiene que cargar los ensamblados, y no se permite cargar ensamblados de 64 bits de una aplicación de 32 bits y viceversa. En este caso, utilice el Compilador de licencias desde la línea de comandos para compilar la licencia manualmente y especifique la arquitectura correspondiente.
Esta herramienta se instala automáticamente con Visual Studio. Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio o PowerShell de Visual Studio para desarrolladores.
En el símbolo del sistema, escriba lo siguiente:
Sintaxis
lc /target:
targetPE /complist:filename [-outdir:path]
/i:modules [/nologo] [/v]
Opción | Descripción |
---|---|
/complist: filename | Especifica el nombre de un archivo que contiene la lista de componentes con licencia que se van a incluir en el archivo .licenses. Se hace referencia a cada componente utilizando su nombre completo con un solo componente por línea. Los usuarios de la línea de comandos pueden especificar un archivo independiente para cada formulario del proyecto. Lc.exe acepta varios archivos de entrada y crea un único archivo .licenses. |
/h[elp] | Muestra las opciones y la sintaxis de los comandos para la herramienta. |
/i: module | Especifica los módulos que contienen los componentes enumerados en el archivo /complist. Para especificar más de un módulo, use varias marcas /i. |
/nologo | Suprime la presentación de la portada de inicio de Microsoft. |
/outdir: path | Especifica el directorio en el que se coloca el archivo .licenses de resultados. |
/target: targetPE | Especifica el archivo ejecutable para el que se genera el archivo .licenses. |
/v | Especifica el modo detallado; muestra información del progreso de la compilación. |
@ file | Especifica el archivo de respuesta (.rsp). |
/? | Muestra las opciones y la sintaxis de los comandos para la herramienta. |
Ejemplo
Si usa un control con licencia
MyCompany.Samples.LicControl1
dentro deSamples.DLL
en una aplicación denominadaHostApp.exe
, puede crear un archivoHostAppLic.txt
que contenga lo siguiente.MyCompany.Samples.LicControl1, Samples.DLL
Se puede crear el archivo .licenses denominado
HostApp.exe.licenses
utilizando el comando siguiente.lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir
Se puede compilar el archivo
HostApp.exe
que incluya el archivo .licenses como un recurso. Si está compilando una aplicación en C#, debe utilizar el comando siguiente para compilarla.csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs
El comando siguiente compila myApp.licenses
a partir de las listas de componentes con licencia especificadas por hostapplic.txt
, hostapplic2.txt
y hostapplic3.txt
. El argumento modulesList
especifica los módulos que contienen los componentes con licencia.
lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList
Ejemplo de archivo de respuesta
La siguiente lista muestra un ejemplo de un archivo de respuesta, response.rsp
. Para más información sobre los archivos de respuesta, consulte Archivos de respuesta.
/target:hostapp.exe
/complist:hostapplic.txt
/i:WFCPrj.dll
/outdir:"C:\My Folder"
La siguiente línea de comandos usa el archivo response.rsp
.
lc @response.rsp