write pagina oficial mac from cancel and visual-studio projects-and-solutions solution visual-studio-project

visual-studio - mac - vim pagina oficial



Visual Studio Project vs. Solution (9)

Siendo nuevo en VS, ¿cómo puedo pensar en estos dos conceptos? ¿Cuál es la diferencia?


Las soluciones son contenedores utilizados por Visual Studio para organizar uno o más proyectos relacionados. Cuando abra una solución en Visual Studio, cargará automáticamente todos los proyectos que contiene.

Cuando crea un nuevo proyecto en Visual Studio, crea automáticamente una solución para albergar el proyecto si no hay una solución abierta.

Puede establecer dependencias de proyectos en otros proyectos en la solución. El proyecto dependiente es compilación después de que se construye el proyecto del que depende.

Para obtener más detalles, consulte https://docs.microsoft.com/en-us/visualstudio/ide/quickstart-projects-solutions

Si proviene de un fondo de Eclipse, probablemente iría a compilar la ruta de un proyecto y agregaría una dependencia en otro proyecto o agregaría un jar externo. En VS puede hacer eso en un solo contenedor llamado solución donde todos los proyectos relacionados están agrupados.

P.ej. Digamos que es una aplicación de compilación, android y iOS en xamrin, podría haber algún código común y recursos que podrían ir en un proyecto separado y luego sus proyectos de Android e iOS pueden depender de este proyecto de código común. También podría tener proyectos para probar estos proyectos, etc.


En caso de que alguien decida desplazarse hasta aquí ... Creo que los doctores hicieron un buen trabajo al describir las diferencias. Copié el fragmento relevante aquí:

Cuando crea una aplicación, una aplicación, un sitio web, una aplicación web, un script, un complemento, etc. en Visual Studio, comienza con un proyecto. En un sentido lógico, un proyecto contiene todos los archivos de código fuente, iconos, imágenes, archivos de datos y cualquier otra cosa que se compilará en un programa ejecutable o sitio web, o se necesita para realizar la compilación. Un proyecto también contiene todas las configuraciones del compilador y otros archivos de configuración que pueden ser necesarios para varios servicios o componentes con los que su programa se comunicará. Nota

No tiene soluciones de uso o proyectos si no quiere. Simplemente puede abrir los archivos en Visual Studio y comenzar a editar su código.

En un sentido literal, un proyecto es un archivo XML (.vbproj, .csproj, * .vcxproj) que define una jerarquía de carpetas virtuales junto con rutas a todos los elementos que "contiene" y todas las configuraciones de compilación. En Visual Studio, Solution Explorer utiliza el archivo de proyecto para mostrar el contenido y la configuración del proyecto. Cuando compila su proyecto, el motor MSBuild consume el archivo del proyecto para crear el ejecutable. También puede personalizar proyectos para producir otros tipos de resultados.

Un proyecto está contenido, en un sentido lógico y en el sistema de archivos, dentro de una solución, que puede contener uno o más proyectos, junto con información de compilación, configuración de la ventana de Visual Studio y cualquier archivo misceláneo que no esté asociado con ningún proyecto. En un sentido literal, la solución es un archivo de texto con su propio formato único; Por lo general, no está destinado a ser editado a mano.

Una solución tiene un archivo * .suo asociado que almacena configuraciones, preferencias e información de configuración para cada usuario que ha trabajado en el proyecto.


Encuentro que falta información en las otras respuestas (al menos para las personas que provienen de otros IDEs como, por ejemplo, Eclipse). Decir que una solución es un contenedor para proyectos es solo una parte del asunto. La característica conceptual de un proyecto VS (lo que determina su ''granularidad'') es que un proyecto produce un resultado : normalmente un ejecutable o una biblioteca (dll). Entonces, si va a codificar tres ejecutables que usan código relacionado, creará una solución y al menos tres proyectos, probablemente más.


Las soluciones son contenedores para proyectos; también puede usarlas para organizar elementos que se utilizan en diferentes proyectos relacionados (dll compartidos y similares).


No ayuda que Visual Studio parezca hacer las cosas más confusas. "Nuevo proyecto" en realidad crea una SOLUCIÓN nueva que contiene un proyecto. "Open Project" en realidad abre una solución que contiene uno (o muchos) proyectos. (El menú del archivo dice "Abrir proyecto / solución" pero realmente está abriendo soluciones. No hay "Cerrar proyecto" solo "Cerrar solución" que es preciso.

Entonces, en VS siempre trabajas dentro de una solución. Muchas soluciones contienen un solo proyecto y es probable que los desarrolladores más nuevos las consideren como lo mismo. Sin embargo, puede agregar otros proyectos en una solución.


Solo para llegar a una metáfora ...

Una solución es como una casa, un proyecto como una habitación. Cada habitación ofrece una funcionalidad, mientras que la casa, un contenedor de habitaciones, proporciona los medios para unir las habitaciones y organizarlas adecuadamente.

Es cursi, pero lo hice sobre la marcha, así que tengan paciencia :)


Un proyecto contiene archivos ejecutables y de biblioteca que componen una aplicación o componente de una aplicación.

Una solución es un marcador de posición para proyectos lógicamente relacionados que conforman una aplicación. Por ejemplo, podría tener proyectos separados para la GUI de su aplicación, capa de acceso a la base de datos, etc. Los proyectos serían divisiones específicas para la funcionalidad de su programa, y ​​la solución sería el paraguas que los unificaría a todos en una sola aplicación.


Una solución es un contenedor para proyectos y realiza un seguimiento de las dependencias entre proyectos.


Una solución puede tener muchos proyectos.

La solución también puede manejar las dependencias entre sus diferentes proyectos ... asegurándose de que cada proyecto se construya en el orden apropiado para que la solución final funcione.