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: nome do arquivo | 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: módulo | 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: caminho | 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. |
@arquivo | Especifica o arquivo de resposta (.rsp). |
/? | Exibe sintaxe de comando e opções para a ferramenta. |
Exemplo
Se estiver usando um controle licenciado
MyCompany.Samples.LicControl1
contido emSamples.DLL
em um aplicativo chamadoHostApp.exe
, você poderá criarHostAppLic.txt
que contém o seguinte.MyCompany.Samples.LicControl1, Samples.DLL
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
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