none
Problema de GAC RRS feed

  • Pregunta

  • Buenas tardes...

    Contexto

    Tengo una solución que incluye un proyecto contenedores que se registra en el GAC (gacutil /i  ruta\contenedores.dll) que deja el archivo en la ruta c:\windows\Microsoft.NET.assembly\GAC_MSIL\contenedores\v4.0_1.3.0.0_fe99724c5893ff84

    El proyecto incluye una clase que se llama ListaPaises

    En la solución hay un página web que usa la clase ListaPaises (en el global.asax):

    ListaPaises ListaP = generales.obtenerListaPaises()

    donde Generales es una instancia de un objeto com que contiene la función que devuelve una instancia de esa clase ListaPaises.

    Problema

    Si referencio el proyecto en la web me da el siguiente error (lo muestra en la parte derecha del =):

    Cannot implicity convert ListaPaises to ListaPaises [c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0ca90b7b\6317be2\assembly\dl3\740197df\1058f6d0_08aad001\contenedores.dll]

    y seguidamente me da el siguiente error en la misma línea (lo muestra donde en la parte derecha donde se indica la clase ListaPaises para la instancia ListaP):

    The type 'Contenedores.ListaPaises' is defined in an assembly that is not referenced. You must add a reference to assembly 'contenedores', versión 1.3.0.0, Culture=neutral, PublicKeyToken=fe99724c5893ff84

    Al ver estos errores me dije: "ok, entonces quito la referencia al proyecto y agrego la referencia al GAC". 

    Entonces hago add references para que me muestre la pantalla, me voy al tab Projects, desmarco contenedores y hago ok, para verificar que realmente ya no aparece en las referencias, y me voy a Property Pages para corroborar que en los references no aparece y la referecia, hago click en Add... References como no me aparece en Assemblies|Framework ni Extensions me voy a Browse y selecciono el archivo de donde lo se dejó en el GAC.  Reviso la referencia y en efecto indica GAC.  Extrañamente cuando doy click en aceptar en la ventana de pageproperties no me aparece en las referencias pero el precompilador no indica problemas en el código...

    Cuando compilo para correrlo me aparece temporalmente un error que indica que existe otra clase que se llama contendor paginación (que está en el mismo ensamblado) tanto en c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0ca90b7b\6317be2\assembly\dl3\740197df\1058f6d0_08aad001\contenedores.dll como en c:\windows\Microsoft.NET.assembly\GAC_MSIL\contenedores\v4.0_1.3.0.0_fe99724c5893ff84\contenedores.dll luego me fijo en las referencias y ¡vuelve a aparecer de donde lo había quitado la referencia al proyecto contenedores! :s.  Si vuelvo a compilar vuelve a hacer lo mismo (muestra el mensaje de error por un momento y luego desaparece).

    Alguien podría mostrarme la salida...

    Estoy trabajando con Visual Studio 2013 y Framework 4.0

    Se les agradece de antemano su ayuda.

     

     


    Ing. Danilo Chaves R. Desarrollador / Developer

    jueves, 18 de junio de 2015 21:50