2010-12-03 25 views
7

Soy un poco nuevo en C# y estoy tratando de encontrar una buena solución para mantener código común en algún lugar que sea utilizado por varios proyectos.¿Cómo mantengo el código común compartido entre proyectos en C#?

Primero traté de guardarlo en un archivo .cs y agregarlo a los proyectos que necesitan el código, pero esto COPIA el archivo, lo que significa que si hago algún cambio en el código común no se reflejará en los diversos proyectos usando este código

Intenté crear una biblioteca de clases y hacer referencia a la DLL dentro de los proyectos usando el código. En primer lugar, no puedo hacer que esto funcione aunque sigo los tutoriales. Incluso cuando hago referencia al archivo DLL, todavía no puedo usarlo de alguna manera, pero incluso si esto funcionó, todavía necesita un archivo DLL adicional para mi aplicación. un código común y eso no es lo que quiero.

¿Hay alguna manera de mantener código común que se hace referencia, sin necesidad de enviar un archivo DLL w

Respuesta

9

La mejor solución es tener una biblioteca común a la que haga referencia en cada uno de sus proyectos. Sin embargo, usted dice que no quiere hacer eso, ya que requiere agrupar dlls adicionales, ¿es realmente ese un gran problema? También mencionas que no puedes hacer que funcione, posteas los detalles de los errores, etc. y podremos ayudarte.

Otra opción, suponiendo que esté utilizando Visual Studio, es vincular el archivo común a su proyecto en lugar de agregarlo. Esto mantendrá el archivo común en su ubicación actual y no lo moverá a su directorio de proyecto.

Para ello, vaya al cuadro de diálogo Agregar archivo existente, pero en el botón 'Agregar', haga clic en la flecha hacia abajo y seleccione 'Enlazar'.

Como se mencionó anteriormente, el uso de una biblioteca común es la mejor solución, por lo que si se trata de un problema insuperable, se podría considerar el uso de ilmerge. Esto fusionará todas sus dlls/exes en un único archivo que luego podrá implementar.

+0

Genial, nunca había notado esa pequeña flecha para agregar como un enlace, eso era exactamente lo que necesitaba, ¡gracias! –

+0

En cuanto a por qué no puedo agregar una biblioteca de clases, no tengo idea, he creado la biblioteca de clases y la he compilado, y se ve bien. Lo menciono en la solución que lo usa, pero cuando trato de agregar el código de uso o incluso intento acceder a él, es como si no hubiera sido referenciado en absoluto, y tampoco veo nada erróneo en el código de la biblioteca. –

+0

Se eliminó el código real, pero así es como se ve: usando System; espacio de nombres de los archivos de texto { textfiletools clase { pública readfile static bool (string filename, fuera string [] dest) { } pública writefile static bool (cadena de nombre de archivo, string [] datos) { } } } –

4

Se puede añadir un enlace a un archivo común:

  1. Haga clic derecho sobre el proyecto
  2. Seleccione 'Añadir' => 'elemento existente ...'
  3. encontrar el archivo .cs los que desea compartir
  4. Haga clic en el menú desplegable en el cuadro Agregar
  5. Elija, Agregar como enlace.

Hope this helps!

+0

¡¡Suponiendo que está usando Visual Studio !!! – Nick

1

Usted estuvo casi allí. Puede agregar su archivo existente, pero tenga en cuenta que puede expandir el botón "agregar" y elegir vincularlo en su lugar.

0

Puede agregar un archivo vinculado a un proyecto; esto no crea una copia sino que simplemente hace referencia a ella.

Consulte la sección "Adding an Existing Item as a Link" en la página enlazada:

Para crear un enlace a un artículo existente:

  1. En el Explorador de soluciones, seleccione el proyecto de destino.
  2. En el menú Proyecto, seleccione Agregar elemento existente.
  3. En el cuadro de diálogo Agregar elemento existente, busque y seleccione el elemento del proyecto que desea vincular.
  4. En la lista desplegable del botón Abrir, seleccione Agregar como enlace.
0

En Visual Studio se puede añadir un enlace a un artículo existente:

En el explorador de soluciones, haga clic derecho y seleccione Agregar -> elemento existente ... Busque el archivo y en lugar de hacer clic en Agregar, seleccione Agregar como enlace.

Pero aconsejaría utilizar un proyecto separado para el código común.

Cuestiones relacionadas