none
Visual studio 2008 Errores Compilacion RRS feed

  • Pregunta

  • Hola,

    Somos un equipo de 3 desarrolladores que trabajamos para una Sociedad Medica.

    Actualmente contamos con 3 licencias de Microsoft Visual Studio. Como lenguaje utilizamos visual BASIC.

    El problema:

    Hace ya unos meses se nos presenta el siguiente error al momento de compilar una aplicación "Errores compilación, desea continuar y ejecutar la ultima versión generada correctamente", y en la lista de errores "No se puede firmar el ensamblado. El proceso no tiene acceso al archivo porque esta siendo utilizado por otro proceso".

    Cabe aclarar que la empresa cuenta con muchas aplicaciones desarrolladas localmente, las cuales utilizan Bibliotecas de clases, también de producción local, compartidas para la reutilización de código. El archivo que nombra el error es justamente el archivo con extensión DLL generado por las mismas y agregado como referencia en el proyecto en cuestión.

    Desde ya muchas gracias.

    Un cordial saludo, Matías Olivera.


    lunes, 31 de marzo de 2014 17:32

Todas las respuestas

  • Por el error que sale, tiene toda la pinta de que estás intentando compilar encima de la misma DLL que está siendo utilizada por algún ejecutable que se encuentra en marcha en ese momento.

    Esto no debería ocurrir. La forma normal de trabajar sería que cada desarrollador tenga una copia local de los fuentes del proyecto de la dll. Por lo tanto, cada vez que la compila se graba el resultado de compilación bajo el directorio "bin" en su propio equipo. Si la DLL se usa desde otro proyecto (por ejemplo, un .exe que la llama), se añade una Referencia desde el proyecto del .exe al proyecto de la .dll, y se deja marcada la opción "Copy Local" (ese es el valor predeterminado). Esto hace que al compilar el .exe Visual Studio tome una copia de la dll y la copie en el directorio bin del .exe. El .exe ejecuta por tanto esa copia de la dll, y en consecuencia incluso aunque el ejecutable esté en marcha no impide que se compile el proyecto de la dll.

    Dado el error que estás viendo, parece ser que en algún punto se ha "roto" el circuito anterior. Mi sospecha es que en el proyecto de algún ejecutable se haya puesto una Referencia directa a la dll que se intenta compilar (en lugar de a su copia) y que al estar ejecutándose ese programa deja bloqueada la dll. Tendrás que revisar todas las referencias hasta ver cuál es la culpable.

    martes, 1 de abril de 2014 6:26