O compilador de licença do .NET (LC.EXE) parece ignorar o conteúdo de licenças.licx em uma máquina, mas não no outro. Por quê?
-
27-09-2019 - |
Pergunta
Informações de fundo: Eu configurei uma solução .NET muito simples no VS2008 que contém código suficiente para exibir um relatório ActiveReports em uma janela de visualização. O componente ActiveReports usa o licenses.licx
Mecanismo para decidir se foi devidamente licenciado ou não. Se não encontrar a chave de licença válida, exibirá uma mensagem proeminente na pré -visualização do relatório, declarando, "Esta é uma cópia de avaliação, [blá blá blá etc.]."
Meu problema: Eu tenho dois computadores, tanto com as mesmas versões do VS2008 quanto do ActiveReports instaladas. Eu tenho licenças válidas para cada instalação. Agora, quando eu construo minha solução em uma máquina, recebo uma visualização de relatório sem a mensagem de banner de avaliação, enquanto, por outro, a mesma solução compila com um aplicativo que exibirá a mensagem de avaliação.
O que descobri até agora: Usando Refletor.net Descobri que na segunda máquina (que exibe a mensagem de avaliação), o compilador de licença (LC.EXE
) de alguma forma parece ignorar a linha de licença do ActiveReports em licenses.licx
. Mas não exibirá nenhum erro ou mensagem de aviso.
⇒ Então, essa pergunta permanece: Em que circunstâncias irão LC.EXE
decidir ignorar uma linha de texto de licenses.licx
Quando produz a saída MyApplication.licenses
recurso incorporado?
PS: O problema é não resolvido excluindo o licenses.licx
Arquive e depois recriá -lo adicionando temporariamente um relatório dummy à solução. Esse truque é frequentemente mencionado Para problemas de licenciamento semelhantes, mas não funciona aqui. o licenses.licx
O conteúdo do arquivo parece ser válido.
PPS: Não tenho certeza se essa é uma pergunta de estofamento de pilha ou para o super usuário.
Solução
OK - não posso ter certeza, mas suspeito da causa desse problema.
Eu suspeito disso LC.EXE
investigará todos os controles listados em licenses.licx
Quando compila esse arquivo. Se, durante essa investigação, qualquer um dos controles listados determinar que não é licenciado corretamente (por qualquer motivo; por exemplo, porque a licença está realmente faltando ou devido a uma instalação corrupta), o compilador de licença não emitirá a chave de licença real para o fluxo de recursos de saída.
Atualizar: Algumas semanas depois, ainda acredito que foi isso que aconteceu. Como se viu, a única máquina em que o licenciamento falhou para ter uma instalação corrupta do ActiveReports. Depois de executar um utilitário de remoção, o ActiveReports obteve uma nova instalação e o licenciamento agora funciona em ambas as máquinas.