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ê?

StackOverflow https://stackoverflow.com/questions/3048036

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top