Saltar al contenido

¿Qué son los archivos .sln y .vcproj y qué contienen?

Si encuentras algún error en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes subir el código al trabajo final.

Solución:

Un archivo de proyecto .vcproj / .vcxproj contiene configuraciones sobre cómo compilar su código en una DLL o un archivo binario, o cualquier otra cosa que el enlazador pueda ensamblar en una unidad. Un archivo de proyecto es solo un archivo xml que contiene la configuración del compilador, la configuración del vinculador y describe qué archivos desea compilar.

Un archivo de solución *.slnes un archivo de texto que agrupa varios archivos de proyecto.

Entonces, si piensas en él como un árbol, entonces tienes una buena imagen mental de esto:

.sln
   .vcproj
      .h
      .h
      .cpp
      .cpp
   .vcxproj
      .h
      .h
      .cpp
      .cpp
   .csproj
      .cs

Los archivos de solución y los archivos de proyecto están en formato XML y describen las partes de sus proyectos y sus relaciones, configuraciones, etc. De hecho, ambos archivos son simplemente secuencias de comandos de MSBuild (que se ejecutan a través de MSBuild cuando, lo adivinó, está construyendo su proyecto).

Esto significa que son fáciles de manipular a mano si es necesario (aunque esto debería ser un caso raro) y también permite agregar partes personalizadas al script de compilación, crear scripts de compilación personalizados para MSBuild que pueden incluir el archivo de solución, entre otras cosas, o simplemente simples scripts de creación automática que pasan el archivo de solución (o proyecto) a MSBuild, por ejemplo, en el registro de control de versiones.

La diferencia entre los archivos de solución y los archivos de proyecto es que un archivo de proyecto contiene información específica para que proyecto, sin conocer su solución (aunque, Visual Studio buscará la jerarquía hasta cierto punto en un intento de encontrar la solución relevante al abrir un proyecto, si existe); el archivo de solución es consciente de todos los proyectos que forman parte de que solución y hace referencia a cada uno de ellos (como un directorio de archivos, si lo desea, pero con proyectos), también contiene información/configuración de toda la solución, que puede aplicarse a todos los proyectos dentro de la solución.

Como señaló Hans Passant, hay una excepción: los archivos para proyectos C++ anteriores a VS2010 no son archivos XML MSBuild, sino un formato documentado por Microsoft en MSDN.

Un archivo .vcproj contiene información sobre CÓMO compilar el origen en un destino (principalmente, un ejecutable). En muchos casos, es crucial tener el archivo del proyecto para una compilación exitosa, así que no lo elimine. Es comparable a un archivo .dsp (Visual Studio 6), un archivo .prj (compiladores Borland) o un Makefile (compiladores Unix, GNU) y contiene rutas y opciones de línea de comandos del compilador/vinculador.

Un archivo .sln es simplemente una colección de varios archivos .vcproj. Como Visual Studio puede crear uno automáticamente si no está presente, no es necesario conservarlo para distribuirlo o archivarlo. Es el sucesor de un archivo .dsw (Visual Studio 6). Su nombre “Archivo de solución” es engañoso en mi humilde opinión.

Te invitamos a añadir valor a nuestra información aportando tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *