NO SE ENCUENTRA EL ARCHIVO O EL NOMBRE DEL ENSAMBLADO.
Estoy desarrollando una aplicación en .NET
con Visual Studio 2005, cuando la ejecutamos en modo desarrollo funciona
perfectamente, así que generamos el correspondiente paquete de instalación creando un archivo .msi
y lo llevamos a otra máquina. Instalamos
nuestra aplicación y cuando la
ejecutamos nos encontramos con este desagradable error.
El error dice: No se
encuentra el archivo o el nombre del ensamblado “nombre” o una de sus dependencias.
Si nos pasa esto, es un
síntoma de que el instalador no contiene
todo lo necesario para instalar nuestra aplicación, pues en nuestro equipo de
desarrollo funcionaba perfectamente.
Por tanto lo primero que
hay que hacer es asegurarse de que nuestro paquete .msi contiene efectivamente
todos los ensamblados y dll´s necesarias para su funcionamiento.
Hay algunos archivos
como este caso concreto las referencias de Crystal Reports así como otras que se incluyen en la GAC, que
tienen la particularidad de que cuando agregas la referencia, no se agregan con
la propiedad Copy Local en true, lo
que hace que cuando compilamos o desplegamos en el directorio .bin no se
encuentren estas dll´s.
Por tanto una primera
solución consistirá en establecer la propiedad Copy Local a true de una referencia.
La propiedad Copy Local determina si se copia la
referencia en la ruta de acceso de la bandeja local. En tiempo de ejecución
deberá existir una referencia en la GAC. Al establecer esta propiedad a true, se copia la referencia
a la ruta de acceso de resultados del proyecto en tiempo de ejecución.
Esto hay que hacerlo desde
el equipo de desarrollo en el Visual Studio, una vez hecho deberemos generar de
nuevo nuestro archivo .msi
A continuación se
explican los pasos en Visual Studio 2005 con otras versiones es similar aunque
no exactamente igual.
Para establecer la
propiedad Copy Local en true hay
que:
1. En el Explorador de soluciones, hacemos
doble clic en el nodo Mi proyecto del proyecto.
2. En el Diseñador de proyectos,
seleccionamos la ficha Referencias.
3. Seleccionamos el componente de la
referencia de la lista Referencias.
Las propiedades
asociadas a esa referencia aparecerán en la lista en la ventana Propiedades.
4. Seleccionamos Copy Local en la columna izquierda y, a continuación, hacemos clic
en la flecha en la columna derecha para cambiar el valor a True.
Hecho esto el programa
debería funcionar ya, pero en mi caso particular siguió igual.
CAMBIAR LA VERSIÓN DEL FRAMEWORK DE IIS.
Esto fue así por otro
error bastante frecuente al desplegar aplicaciones .NET, la versión del
framework en el Internet Information Services (IIS) no era la misma en la
máquina en la que lo desarrollé que en la máquina en la que intentaba
desplegarlo.
El framework adecuado.
Para Visual Studio 2005 es el framework 2.0
(3.5 para VS 2008 y 4.0 para VS2010)
Para cambiar en
Framework del IIS, abrimos el IIS desde su icono.
O
invocamos el comando inetmgr desde el cuadro de diálogo ejecutar de Windows.
Una vez abierto el ISS
nos colocamos sobre el directorio virtual de nuestra aplicación y pulsamos el
botón derecho del ratón, eligiendo la opción propiedades.
Elegimos la pestaña
ASP.NET
En el Combo de ASP.NET
versión desplegamos y elegimos la versión correspondiente.
Este último paso también
deberemos repetirlo posicionados sobre el directorio Default WebSite.
Ahora ya debería
funcionar nuestra aplicación en el equipo donde hemos hecho esto.
No hay comentarios:
Publicar un comentario