En un VS2010 solución puedo tener una licencia.licx archivo que contiene:

DataDynamics.ActiveReports.ActiveReport, ActiveReports6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Web.WebViewer, ActiveReports.Web, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Export.Pdf.PdfExport, ActiveReports.PdfExport, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Design.Designer, ActiveReports.Design6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Viewer.Viewer, ActiveReports.Viewer6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff

Si voy a construir la solución en una máquina que TIENE una licencia para ActiveReport entonces todo está bien. Si voy a construir la solución en una máquina que NO tiene una licencia para ActiveReport puedo obtener:

Error 1 ‘no se Pudo cargar el archivo o ensamblado ‘ActiveReports6,
Versión=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff’
o una de sus dependencias. La operación no es compatible. (Excepción
de HRESULT: 0x80131515)’ LC

En la máquina que NO tiene una licencia para ActiveReport si puedo eliminar las líneas de arriba de la licencia.licx archivo, a continuación, todo lo que construye bien. Siempre he pensado que si la licencia no se pudo encontrar, a continuación, la versión sin licencia serán utilizados pero no mataría a la construcción. ¿Cómo puedo obtener esta solución para construir en cualquier máquina si tiene una licencia o no?

OriginalEl autor Denis | 2011-12-01

4 Comentarios

  1. 3

    De hecho, parece que esta máquina no tiene esa versión específica de ActiveReports instalado.

    Podemos resolver problemas como este mediante el almacenamiento externo de los ensamblados de una ruta de acceso relativa para el proyecto (es decir ..\Asambleas) y la modificación de todos los proyectos para incluir un HintPath, por ejemplo:

    <Reference Include="ActiveReports3">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\..\Assemblies\ActiveReports3.dll</HintPath>
    </Reference>

    De esta manera, usted no tiene que preocuparse acerca de cada desarrollador tenga exactamente la misma versión instalada. Usted debe ser capaz de depurar con esta configuración, pero no construir para la liberación.

    Actualización

    Se me olvidó otra práctica que se apliquen: a menos que el componente absolutamente lo requiere (solo tenemos uno en el que puedo pensar fuera de la parte superior de mi cabeza), nunca nos versiones de tienda en la licencia.archivo licx. Nuestras licencias.licx entrada para el ejemplo anterior es:

    DataDynamics.ActiveReports.ActiveReport3, ActiveReports3

    Usted tiene que mantener en la parte superior de las licencias.archivo licx si usted hace esto, pero sin duda se resuelve varios problemas de versiones.

    No creo que esto es correcto porque si la versión fue mal, entonces no importa lo que yo hice no compilar. Si me tomo las cosas de el .archivo licx todo funciona bien, no quiero que la gente tenga diferentes .licx archivos.
    Si la versión que estaba mal, pero tienes specificversion = false en el proyecto, a continuación se compilará. Pero desde la versión exacta se especifica en el archivo de licencias, la lc se producirá. He actualizado mi respuesta con información adicional.

    OriginalEl autor competent_tech

  2. 3

    Contactado ActiveReports y me dijeron que un archivo de licencia se puede mantener para cada usuario si se ha pagado una licencia o no. El truco es que los usuarios que no será la generación de informes que necesita para instalar una licencia de prueba (que ActiveReports proporciona libre de cargo) y a los usuarios que pagan por la licencia tendrá su propia licencia. La licencia de prueba, al igual que el real licencia retribuida, tendrá que tratar con la licencia.archivo licx y proveerá las medidas adecuadas cuando se ve una entrada que se reconoce en el .archivo licx.

    OriginalEl autor Denis

  3. 2

    Si voy a construir la solución en una máquina que NO tiene una licencia para ActiveReport puedo obtener

    Esto es parte del problema. Normalmente, la concesión de licencias requiere que cada desarrollador tiene una licencia. Tratando de licencia única parte de su equipo de desarrollo es probable que en la violación de su ActiveReports licencia.

    ActiveReports permite a los desarrolladores para el diseño de informes. Cuando son liberados que necesitan ser compilados en una máquina con una versión con licencia de ActiveReports con el fin de eliminar la GRAN marca de agua a través de las páginas. Pero la concesión de licencias y todos los asuntos legales de los mismos está fuera de tema, la pregunta principal es ¿se puede tener una mezcla de licencia y sin licencia de los desarrolladores de todos los que comparten el mismo .archivo licx? Algunos desarrolladores serán capaces de producir informes sin la marca de agua y otros no?

    OriginalEl autor Reed Copsey

  4. 1

    Debe estar perfectamente bien usar una versión de prueba de ActiveReports la forma en que usted está describiendo. He visto un número de problemas con Visual Studio concesión de licencias con diversos componentes. Generalmente se puede resolver mediante los pasos siguientes:

    • Limpiar la solución utilizando Construir > Limpia
    • Eliminar el archivo licx (Visual Studio generará este archivo según sea necesario).
    • Agregar un ARViewer control a un formulario en el proyecto (usted puede eliminar de nuevo más tarde). Esto debe hacerse en una máquina con un válido ActiveReports licencia. Y esto es lo que debe accionar el archivo licx para ser regenerado con la información correcta.
    • Reconstruir (asegúrese de hacer una verdadera reconstrucción, sé que se supone debe ser un lugar limpio+build, pero reconstruir parece ser importante a veces).

    Aparte de eso, sólo verificar sus referencias son del todo correcta. Por ejemplo, asegúrese de que usted no se dispone de varias versiones de los archivos Dll que se hace referencia en diferentes proyectos dentro de la solución y asegúrese de que «Copia Local» y «el Uso Específico de la Versión» son como se esperaba.

    Si usted todavía tiene problemas para crear un nuevo proyecto, agregar ActiveReports (o cualquier componente que vaya a tener problemas con el) y hacer un rápido «hola mundo» estilo de la aplicación para asegurarse de que funciona correctamente y, a continuación, compare los dos proyectos (referencias, archivos, etc.).

    Esta es una solución peligrosa, porque si vuelve a generar el archivo de licencia no será re-pobladas. El archivo de licencia sólo se rellena si arrastra un control con licencia en el formulario – no sucede durante la construcción
    El archivo licx siempre puede ser regenerado por el VS por la adición de cualquier licencia de control a un formulario windows forms. Hice la actualización de los pasos anteriores para asegurarse de que esto se hace en una licencia de AR de la máquina.
    El uso de alguna forma de Control de Versión que hace de esto mucho menos peligrosa. Usted puede realizar estos pasos, y copiar el contenido de la re-generado de la licencia.archivo licx. A continuación, puede deshacer los cambios, y aplicar los contenidos de la regeneración de la licencia.licx archivo de la licencia existente.archivo licx, por lo tanto la fijación de la parte de la instalación de licencias.

    OriginalEl autor Scott Willeke

Dejar respuesta

Please enter your comment!
Please enter your name here