vscode visual studio extension code c# visual-studio code-sharing

c# - visual - vs code live share



Comparta el código fuente de la clase c#entre varios proyectos (7)

Escribí una clase que manejará el registro interno en mi aplicación. Ahora quiero usar esta clase en otro proyecto nuevo y totalmente separado.

Simplemente podría copiar el archivo a la nueva carpeta del proyecto, pero me gustaría tener solo una copia para mantener de manera que todos los cambios se apliquen a ambos proyectos a lo largo del tiempo.

Puedo usar el "agregar archivo existente", pero ¿dónde coloco el archivo para que el próximo desarrollador sepa que es obligatorio? Una vez tuve una carpeta "compartida" para esto, pero una vez esa carpeta no fue llevada a la siguiente computadora de desarrollo.

¿Cuál es la mejor manera de organizar esto para que tenga más sentido para los nuevos mantenedores y minimiza el riesgo de enlaces rotos en los proyectos?


Coloque la clase en un espacio de nombre único, luego agregue el archivo como un enlace a todos los proyectos que necesita para usarlo. Asegúrese de colocar una declaración de uso para ese espacio de nombres único donde va a utilizar la clase, o tendrá que calificar completamente cada uso de la misma. En situaciones como esta, creo que esto es mucho más preferible que una propuesta, ya que no genera referencias innecesarias cruzadas, para algo que es parte de tu propio código que deseas compartir entre tus proyectos.


Crea un nuevo ensamblaje que contenga esta clase.

Entonces todos sus otros proyectos pueden referirse a esta asamblea y usar la clase dentro.


Divida su código de registro en un conjunto separado.

Luego puede incluir ese ensamblaje en los proyectos que deberían usar ese registrador.

Mantiene todo bien y limpio y solo tendrá que mantener un conjunto de códigos en lugar de tener que preocuparse por cada copia.


Puede crear un proyecto de biblioteca que tenga esta clase de esta manera, todo lo que tiene que hacer es agregar una referencia a ese proyecto.

Si no se trata de una opción, puede usar "clic derecho -> agregar elemento existente -> Añadir como enlace", de esta manera solo tiene una copia del código, pero puede existir en múltiples proyectos.


Si realmente necesita compartir el código fuente, por ejemplo, si tiene una compilación simultánea de 32 bits y una de 64 bits del mismo ensamblado (que a veces se requiere si depende del código nativo), puede usar la respuesta dada en este hilo: ¿cómo se comparte código entre proyectos / soluciones en Visual Studio?

(Busque '''' enlace '''' un archivo de código entre dos proyectos '''').


También puede utilizar su sistema de control de versiones para hacer esto.

Usualmente creamos Directorio con Solución y Proyecto Principal y luego asignamos este directorio a SVN. Entonces, todas las bibliotecas compartidas se vinculan usando svn: external, por lo que todos los proyectos existen en el mismo directorio de soluciones.

Después del commit, cualquiera puede verificar la solución de trabajo con todas las dependencias externas.


Una biblioteca de clases para compartir es la mejor solución.

Pero puede agregar un archivo a un proyecto VS como un enlace en lugar de copiar. Para hacer esto, use el menú desplegable del botón Agregar del cuadro de diálogo agregar elemento existente.