Cómo hacer referencia a conjuntos compartidos que aún están en desarrollo (.NET)

Soy responsable de desarrollar y mantener un conjunto de conjuntos de marcos comunes que se utilizan para construir nuestras aplicaciones de productos. Estos ensamblajes son relativamente nuevos y están en un estado de flujo a medida que se implementan nuevas características, etc. Como resultado, no es raro que se reconstruyan y redistribuyan con cierta frecuencia. Espero que esto disminuya a medida que las asambleas se estabilicen, pero es lo que es hoy.

En este momento, los ensamblajes se colocan en una carpeta común donde los proyectos de desarrollo pueden hacer referencia a los mismos ensamblajes. La aplicación de actualizaciones es tan simple como reemplazar los archivos y los proyectos de desarrollo recogen automáticamente los cambios la próxima vez que se cargan y construyen.

El problema que tengo es que podemos tener varias "capas" de ensamblajes construidos sobre el marco, por ejemplo, tenemos una biblioteca Core compartida por todas las aplicaciones y una biblioteca del Servidor que hace referencia al Core y es compartida por todas las aplicaciones del Servidor. Todas las dependencias también tienen que ser reconstruidas cada vez que se actualizan los ensamblajes del marco, lo que hace que esta sea una tarea muy grande. No creo que pueda usar el GAC porque esto requeriría que todos los desarrolladores actualicen sus sistemas cada vez que se lance una nueva versión.

He investigado las Políticas de editor pero tengo algunas dudas de que esto resolverá mi problema por algunas razones:

Por un lado, no quiero volver a crear el archivo cada vez que reconstruyo mis ensamblajes de framework, ¿hay alguna manera de automatizar este proceso?

No me queda claro si requiere que las asambleas entren en el GAC. Como dije, no quiero obligar a mis desarrolladores a reinstalar, actualizar, etc. cada vez que lancemos una nueva versión de los ensamblajes.

No tengo ningún control sobre la configuración y configuración de la red, por lo que es necesario evitar todo el problema de "confianza" al colocar los archivos en un recurso compartido de red. Además, muchos de nuestros desarrolladores trabajan a veces conectados y queremos que los archivos estén disponibles cuando se desconecten.

El objetivo sería hacer que la actualización de estos conjuntos sea transparente para los desarrolladores de aplicaciones que los consumen. Indudablemente, instalaremos estos ensamblajes en el GAC en la máquina de destino cuando se instale la aplicación, pero no queremos hacerlo con fines de desarrollo. Tampoco es razonable incluir los proyectos en la Solución de cada aplicación, ya que están desarrollados por equipos diferentes.

No puedo imaginar que estoy solo en estos requisitos y espero que alguien pueda compartir su experiencia y sabiduría para guiarme hacia una solución. ¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta