2008-11-12 8 views
27

He visto muchas tomas diferentes sobre este tema, así que pensé que si hay una forma preferida de hacerlo.¿Existe alguna práctica recomendada para Visual Studio Project/Solution Structure?

¿Existe alguna práctica recomendada sobre cómo configurar Visual Studio Projects and Solutions en relación con múltiples soluciones para las mismas soluciones?

Digamos que tengo una tarea que requiere una aplicación web, una aplicación de consola y una biblioteca de lógica de negocios compartida.

He visto esta situación en una 1, 2 y 3 soluciones en algún momento de mi carrera. Este es un ejemplo simple; sin embargo, ¿qué pasa si crece la cantidad de proyectos? ¿Hay una línea para mantenerlo en uno o separarlo?

Respuesta

1

Me gustaría incluir todos los proyectos para una determinada tarea, en una solución. Por lo tanto, basándome en el ejemplo que menciona, tendría una solución que contiene los tres proyectos que pertenecen a la solución que se me pidió que hiciera. Eso mantiene todos los elementos para completar una tarea juntos, encuentro que esto simplifica la inclusión de otros elementos necesarios para resolver la tarea en cuestión.

+0

Supongo que la mejor práctica, depende de lo que encuentre la más simple de hacer – CheGueVerra

4

Puede tener soluciones de múltiples, y cada una puede hacer referencia a los proyectos que le interesan. Extendiendo su ejemplo, su biblioteca de lógica de negocios compartida puede tener una biblioteca de prueba de unidad correspondiente. Estos dos proyectos pueden estar contenidos en una sola solución. Al mismo tiempo, es posible que tenga otra solución que contenga los tres proyectos que menciona, pero en este caso la biblioteca de prueba de la unidad no está incluida.

6

Las soluciones son para el desarrollador, en una situación particular. Los proyectos (.CSPROJ para C-Sharp) son donde se realiza la compilación real.

Teóricamente, si hay 4 proyectos diferentes, podría haber 24 combinaciones diferentes de aquellos proyectos que un desarrollador desee combinar en soluciones.

Si se mantiene todo a nivel de proyecto, usted no tendrá que preocuparse acerca de cómo un desarrollador ha organizado sus archivos .sln

+4

Le pregunté a un "experto" de Microsoft en TechEd este año y básicamente estuvo de acuerdo con lo que dice aquí en que defendió no agregar archivos .sln a la fuente controlar en absoluto, solo archivos .csproj. Cada desarrollador elige qué combinaciones son apropiadas para una tarea en particular. – rohancragg

+5

Eso es útil a considerar, pero me parece extraño. Sin duda, si varios desarrolladores están trabajando en una sola aplicación de Windows Forms, querrán construirla de la misma manera. Y siempre podría tener múltiples archivos .sln en control de código fuente, creo. –

2

Mis soluciones suelen consistir en:

  • proyecto de aplicación Web
    • carpeta 'Común' para la base & clases auxiliares comunes
    • 'Incluir' carpeta
        carpeta
      • 'estilos'
      • 'Carpeta de scripts'
      • carpeta
      • 'Imágenes'
    • carpeta 'UserControls' proyecto
  • Servicios Web
  • proyecto Web Framework
  • proyecto capa de negocio
  • Proyecto Business Framework
  • de acceso a datos
13

blogged acerca de este en 2007. El consejo sigue siendo:

http://mikehadlow.blogspot.com/2007/07/how-to-structure-visual-studio.html

La conclusión es que debería ser capaz de obtener su código de control de código fuente, abrirlo en Visual Studio, presione F5 y todo debería funcionar

+0

Gracias por escribir eso; Me pareció útil, especialmente esto: "Idealmente, toda la fuente que escribe su equipo debe estar en un solo archivo de solución con todos los proyectos referenciados con referencias de proyectos. No hacerlo es la fuente más grande de problemas de solución que he visto. ¡use referencias de archivos para ensamblajes internos! Es un dolor de cabeza " –

Cuestiones relacionadas