tengo que implementar algunos ensambles en GAC. Solo tuve algunas preguntas sobre (mi) comprensión del GAC. realmente me confundeGAC y versiones de montaje
Quiero saber qué versiones cambiar el ensamblaje y la versión del archivo. ¿Cuáles son las combinaciones posibles en las que se sustituirá GAC dll instalando la aplicación? y gestión básica para archivos GAC.
voy a explicar mi pregunta usando siguiente ejemplo para una mejor comprensión de GAC:
Supongamos que tengo los productos A y B.
Tanto A como B se refieren a myfile.dll instalado en GAC.
versión (i) de montaje: [1.0.0.0]
(ii) versión archivo de ensamblaje: [2.0.0.0] (intencionalmente diferente para evitar más confusión)
Supongamos que tengo una corrección de errores que aplica en myfile.dll. Entonces, ¿qué versión debo cambiar?
Supongamos que tengo una nueva versión de A que diga 'ANEW'. Entonces qué versión debe cambiarse para que ambos A, B ANEW puedan residir uno al lado del otro.
supongo que si tengo 'A' se instala con myfile.dll presente en GAC y ahora intento instalar 'B' que tiene DLL GAC con correcciones de errores ..then qué versiones que cambiar para que el cambio se refleja en ' UN'.
igual que Q3 pero el cambio de B no debería reflejarse en 'A'.
Supongamos que 'A' está instalado con myfile (1.0.0.0). Ahora suponga que 'B' se está instalando con myfile (1.x.y.z) .. ¿se reemplazará el archivo GAC?
Supongamos que 'A' está instalado con myfile (1.0.0.0). Ahora suponga que 'B' se está instalando con myfile (2.x.y.z) .. ¿se reemplazará el archivo GAC?
Supongamos que 'A' está instalado con myfile (1.0.0.0). Ahora supongamos que 'B' está instalando con miarchivo (1.0.0.0) suponiendo que la versión no se cambia ... ¿se reemplazará el archivo GAC?
Además, ¿cómo se eliminan los dlls de GAC? ¿Existe algún criterio para la eliminación?
Supongo que las preguntas son algo confusas pero espero que sepan qué estoy pidiendo.
PS: En relación con este tema net-assembly-dll-sharing-and-deploying
thx por respuesta. También encontré este enlace http://blogs.msdn.com/junfeng/archive/2004/02/14/72666.aspx "Cuando vemos que el ensamblado ya existe en GAC, tratamos de comparar la versión del archivo del ensamblado en GAC (llamémoslo "ensamblaje antiguo") y la versión de archivo del ensamblaje a punto de instalar (y "nuevo" ensamblaje). Si la versión del archivo del ensamblado "nuevo" es más baja que la del ensamblado "antiguo", nos negaremos a instalar el ensamblado "nuevo", a menos que solicite fusion for force install ("gacutil -if") ". – Amitd
Después de esta respuesta y algo de investigación ... tengo las respuestas ,, thu u :) [a] para la instalación lado a lado en GAC siempre cambie la versión del ensamblaje. [b] para la corrección de errores, siempre cambie la versión del archivo de ensamblaje. [c] la versión de archivo anterior siempre se reemplaza por una versión de ensamblaje más nueva. [d] para forzar el reemplazo de una nueva versión de archivo con una versión de archivo anterior (dada la misma versión de ensamblaje) utilice la marca de fuerza en gacutil. – Amitd