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.
@archivo Especifica el archivo de respuesta (.rsp).
/? Muestra las opciones y la sintaxis de los comandos para la herramienta.

Ejemplo

  1. Si usa un control con licencia MyCompany.Samples.LicControl1 dentro de Samples.DLL en una aplicación denominada HostApp.exe, puede crear un archivo HostAppLic.txt que contenga lo siguiente.

    MyCompany.Samples.LicControl1, Samples.DLL  
    
  2. 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  
    
  3. 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  

Vea también