Share via


Lc.exe (Compilador de Licença)

O Compilador de Licença lê arquivos de texto que contêm informações de licenciamento e produz um arquivo binário que pode ser inserido em um executável do Common Language Runtime como um recurso.

Um arquivo de texto .licx é gerado automaticamente ou atualizado pelo Designer de Formulários do Windows sempre que um controle licenciado é adicionado ao formulário. Como parte da compilação, o sistema do projeto transformará o arquivo de texto .licx em um recurso binário .licenses que dá suporte ao licenciamento de controle do .NET. Em seguida, o recurso binário será inserido na saída do projeto.

A compilação cruzada entre 32 e 64 bits não é compatível quando você usa o Compilador de Licença ao compilar o projeto. Isso porque o Compilador de Licença precisa carregar assemblies, e o carregamento de assemblies 64 bits de um aplicativo 32 bits não é permitido, e vice-versa. Nesse caso, use o Compilador de Licença na linha de comando para compilar manualmente a licença e especificar a arquitetura correspondente.

Essa ferramenta é instalada automaticamente com o Visual Studio. Para executar a ferramenta, use o Prompt de Comando do Desenvolvedor do Visual Studio ou o PowerShell do Desenvolvedor do Visual Studio.

No prompt de comando, digite o seguinte:

Syntax

      lc /target:  
targetPE /complist:filename [-outdir:path]  
/i:modules [/nologo] [/v]  
Opção Descrição
/complist:filename Especifica o nome de um arquivo que contém a lista de componentes licenciados que serão incluídos no arquivo .licenses. Cada componente é referenciado usando-se seu nome completo com apenas um componente por linha.

Os usuários de linha de comando podem especificar um arquivo separado para cada formulário no projeto. Lc.exe aceita vários arquivos de entrada e produz um único arquivo .licenses.
/h[elp] Exibe sintaxe de comando e opções para a ferramenta.
/i:module Especifica os módulos que contêm os componentes listados no arquivo /complist. Para especificar mais de um módulo, use vários sinalizadores /i.
/nologo Suprime a exibição do banner de inicialização da Microsoft.
/outdir:path Especifica o diretório no qual o arquivo .licenses de saída deve ser colocado.
/target:targetPE Especifica o executável para o qual o arquivo .licenses está sendo gerado.
/v Especifica o modo detalhado; exibe informações de andamento da compilação.
@file Especifica o arquivo de resposta (.rsp).
/? Exibe sintaxe de comando e opções para a ferramenta.

Exemplo

  1. Se estiver usando um controle licenciado MyCompany.Samples.LicControl1 contido em Samples.DLL em um aplicativo chamado HostApp.exe, você poderá criar HostAppLic.txt que contém o seguinte.

    MyCompany.Samples.LicControl1, Samples.DLL  
    
  2. Crie o arquivo .licenses chamado HostApp.exe.licenses usando o comando a seguir.

    lc /target:HostApp.exe /complist:hostapplic.txt /i:Samples.DLL /outdir:c:\bindir  
    
  3. Compile HostApp.exe incluindo o arquivo .licenses como um recurso. Se estivesse compilando um aplicativo do C#, você usaria o comando a seguir para compilar o aplicativo.

    csc /res:HostApp.exe.licenses /out:HostApp.exe *.cs  
    

O comando a seguir compila myApp.licenses com base nas listas de componentes licenciados especificados por hostapplic.txt, hostapplic2.txt e hostapplic3.txt. O argumento modulesList especifica os módulos que contêm os componentes licenciados.

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

Exemplo de arquivo de resposta

A listagem a seguir mostra um exemplo de um arquivo de resposta, response.rsp. Para saber mais sobre arquivos de resposta, confira Arquivos de resposta.

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

A linha de comando a seguir usa o arquivo response.rsp.

lc @response.rsp  

Confira também