Lc.exe (Compilador de licencias)Lc.exe (License Compiler)

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.The License Compiler reads text files that contain licensing information and produces a binary file that can be embedded in a common language runtime executable as a resource.

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.A .licx text file is automatically generated or updated by the Windows Forms Designer whenever a licensed control is added to the form. 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.As part of compilation, the project system will transform the .licx text file into a .licenses binary resource that provides support for .NET control licensing. A continuación, el recurso binario se incrustará en los resultados del proyecto.The binary resource will then be embedded in the project output.

No se admite la compilación cruzada entre 32 y 64 bits cuando se usa la herramienta Compilador de licencias al generar el proyecto.Cross compilation between 32-bit and 64-bit is not supported when you use the License Compiler when building your project. 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.This is because the License Compiler has to load assemblies, and loading 64-bit assemblies from a 32-bit application is not allowed, and vice versa. En este caso, utilice el Compilador de licencias desde la línea de comandos para compilar la licencia manualmente y especifique la arquitectura correspondiente.In this case, use the License Compiler from the command line to compile the license manually, and specify the corresponding architecture.

Esta herramienta se instala automáticamente con Visual Studio.This tool is automatically installed with Visual Studio. Para ejecutar la herramienta, use Símbolo del sistema para desarrolladores de Visual Studio (o Símbolo del sistema de Visual Studio en Windows 7).To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). Para más información, consulte Símbolos del sistema.For more information, see Command Prompts.

En el símbolo del sistema, escriba lo siguiente:At the command prompt, type the following:

SintaxisSyntax

      lc /target:  
      targetPE /complist:filename [/outdir:path]  
/i:modules [/nologo] [/v]  
OpciónOption DescripciónDescription
/complist: filename/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.Specifies the name of a file that contains the list of licensed components to include in the .licenses file. Se hace referencia a cada componente utilizando su nombre completo con un solo componente por línea.Each component is referenced using its full name with only one component per line.

Los usuarios de la línea de comandos pueden especificar un archivo independiente para cada formulario del proyecto.Command-line users can specify a separate file for each form in the project. Lc.exe acepta varios archivos de entrada y crea un único archivo .licenses.Lc.exe accepts multiple input files and produces a single .licenses file.
/h[elp]/h[elp] Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.
/i: module/i: module Especifica los módulos que contienen los componentes enumerados en el archivo /complist.Specifies the modules that contain the components listed in the /complist file. Para especificar más de un módulo, use varias marcas /i.To specify more than one module, use multiple /i flags.
/nologo/nologo Suprime la presentación de la portada de inicio de Microsoft.Suppresses the Microsoft startup banner display.
/outdir: path/outdir: path Especifica el directorio en el que se coloca el archivo .licenses de resultados.Specifies the directory in which to place the output .licenses file.
/target: targetPE/target: targetPE Especifica el archivo ejecutable para el que se genera el archivo .licenses.Specifies the executable for which the .licenses file is being generated.
/v/v Especifica el modo detallado; muestra información del progreso de la compilación.Specifies verbose mode; displays compilation progress information.
@ file@ file Especifica el archivo de respuesta (.rsp).Specifies the response (.rsp) file.
/?/? Muestra las opciones y la sintaxis de los comandos para la herramienta.Displays command syntax and options for the tool.

EjemploExample

  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.If you are using a licensed control MyCompany.Samples.LicControl1 contained in Samples.DLL in an application called HostApp.exe, you can create HostAppLic.txt that contains the following.

    MyCompany.Samples.LicControl1, Samples.DLL  
    
  2. Se puede crear el archivo .licenses denominado HostApp.exe.licenses utilizando el comando siguiente.Create the .licenses file called HostApp.exe.licenses using the following command.

    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.Build HostApp.exe including the .licenses file as a resource. Si está compilando una aplicación en C#, debe utilizar el comando siguiente para compilarla.If you were building a C# application you would use the following command to build your application.

    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.The following command compiles myApp.licenses from the lists of licensed components specified by hostapplic.txt, hostapplic2.txt and hostapplic3.txt. El argumento modulesList especifica los módulos que contienen los componentes con licencia.The modulesList argument specifies the modules that contain the licensed components.

lc /target:myApp /complist:hostapplic.txt /complist:hostapplic2.txt /complist: hostapplic3.txt /i:modulesList  

Ejemplo de archivo de respuestaResponse File Example

La siguiente lista muestra un ejemplo de un archivo de respuesta, response.rsp.The following listing shows an example of a response file, response.rsp. Para más información sobre los archivos de respuesta, consulte Archivos de respuesta.For more information on response files, see Response Files.

/target:hostapp.exe  
/complist:hostapplic.txt   
/i:WFCPrj.dll   
/outdir:"C:\My Folder"  

La siguiente línea de comandos usa el archivo response.rsp.The following command line uses the response.rsp file.

lc @response.rsp  

Vea tambiénSee also