Cómo licencias.se utiliza el archivo licx


Tengo licencias.archivo licx que se incluye en una de las propiedades de mis proyectos. No estoy seguro de cómo es utilizado por sus DLL. ¿Es utilizado por msbuild? ¿Tiene alguna idea de cómo se utiliza cuando la solución está construyendo?

Author: CharithJ, 2011-04-12

3 answers

Dado que indica que la respuesta de StellarEleven no ayuda, supongo que está buscando algo aún más simple. Esto probablemente no es 100% correcto, pero es mi comprensión de cómo funciona esto:

El archivo licx es simplemente una lista de los componentes "licenciados" utilizados por su aplicación.

Cada línea del archivo tiene el siguiente formato:

[Component Name], [Assembly Name]

Por ejemplo, uno de mis proyectos utiliza el componente NetDial de IP Works con licencia para mi .licx contiene el archivo línea siguiente:

nsoftware.IPWorks.Netdial, nsoftware.IPWorks

En el contexto del proyecto (.csproj) file, the .el archivo licx se hace referencia como un EmbeddedResource. Durante el proceso de compilación, LC.exe verifica que la máquina que realiza la compilación tiene las licencias apropiadas para el componente en cuestión, y genera un binario .archivo de licencias que finalmente se incrustan como un recurso ([AssemblyName].exe.licencias) en el ejecutable final.

¿Esto ayuda?

 27
Author: Richard J Foster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:51

Licencias.problemas de archivo licx

Archive esto bajo ASP.NET, Departamento de WTF.

Frustración cuando está desarrollando una aplicación web con nuestro controles, un misterioso archivo llamado licencias.aparece licx. No, no es una orden para usar un lollipop extrañamente llamado, pero es un archivo de transición generado (y modificado) por Visual Studio que participa en la licencia comprobación. En el modo diseño, Visual Studio utiliza este archivo para hacer una nota de cada control licenciado lo utilizas en tu diseño. Cuando a continuación, construir su aplicación, Visual Studio leer estas licencias.licx archivo y para cada control mencionado allí, cargará el montaje relevante y correrá el código de licencia en ese ensamblado para ver si el ensamblado está correctamente licencia (es decir, que el producto al que pertenece ha sido instalado correctamente en esa máquina). Si todo se comprueba, Visual Studio incrusta la clave de licencia en el ejecutable. Si no, obtendrás un error raro mensajes acerca de que el control no tiene licencia (mi favorito es "No se pudo transformar las licencias del archivo de licencias".licx" en un recurso binario."a la que suelo invocar el colorido idioma de mis antepasados).

Licencias.licx es en realidad un archivo en su solución (si no puede ver allí, haga clic en Mostrar todos los archivos). Visual Studio utiliza un programa llamado lc.exe para compilar las licencias en recursos incrustados en su aplicación, y cuando las cosas van mal con la compilación de la licencia He visto mensajes de error que hacen referencia a este ejecutable también.

Aquí hay un ejemplo de una línea en una licencia.archivo licx.

DevExpress.XtraCharts.Web.WebChartControl, DevExpress.XtraCharts.v8.2.Web, Version = 8.2.4.0, Culture = neutral, PublicKeyToken = 9b171c9fd64da1d1

El primer valor en esta lista delimitada por comas es la clase, el segundo es el conjunto donde se encuentra, y los otros valores son el resto de el nombre fuerte de la asamblea. Estoy seguro de que puede ver problemas ya, especialmente cuando actualiza una solución a las últimas versiones de la controles de terceros que utilizas. Si lo desea, puede editar este archivo y elimine las partes de nombre fuerte sin ningún problema.

Pero ese no es el mayor problema con las licencias.licx. La cosa es Visual Studio tiene una propensión a tocar este archivo si abre el solución (que es "tocar" como en el cambio de la fecha del archivo a la fecha/hora actual). Esto hace estragos con las licencias, especialmente si abrir la solución en una máquina sin licencia y que está utilizando control de fuente. De repente su máquina de construcción se deshará de estos mensajes de" no se puede transformar " y te quedas preguntándote qué salió mal. Otro problema frecuente es cuando tienes un equipo de desarrolladores trabajando en una solución: todos están inconscientemente "modificando" este archivo.

Entonces, la respuesta parece ser no poner las licencias.archivo licx bajo control de fuente. (artículo KB)

Pero esta solución al problema lanza otra bandera roja: si uno de los desarrolladores en un equipo agrega un nuevo control que necesita licencias para el formulario, una línea se agrega a sus licencias locales.licx archivo y puede no se refleja en el control de código fuente. Bam, su máquina de construcción falla el build y Joe, que añadió el control, tiene que comprar donas para el equipo hasta que alguien más rompa la estructura.

Me temo que no tengo una buena solución a este último problema, porque desafortunadamente el " no poner licencias.licx en el control de código fuente " parece para ser la forma en que todo el mundo está resolviendo el problema de las licencias. Otro la solución es eliminar las licencias.licx archivo en conjunto y luego obtener Visual Studio para regenerarlo abriendo la solución (aunque esto es un poco difícil en una máquina de construcción).

De todos modos, espero que todo ayude de alguna manera. Y golpear su ordenador portátil con un teléfono no va a ayudar.

 15
Author: CharithJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-02 11:33:23

Utilizamos una política de check-in personalizada (TFS) que anula explícitamente el contenido de este mientras esté presente en la lista de check-in.

 0
Author: Miki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-06 07:02:46