visual studio sln open extension compilar code visual-studio git

visual studio - studio - ¿Por qué hay archivos.sln,.suo y.csproj?



visual studio code extension c# (4)

Debe confirmar .sln y .csproj , pero no los .suo o .user .

Puede agregar lo siguiente a .gitignore :

#ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.obj *.exe *.pdb *.user *.aps *.pch *.vspscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.cache *.ilk *.log [Bb]in [Dd]ebug*/ *.lib *.sbr obj/ [Rr]elease*/ _ReSharper*/ [Tt]est[Rr]esult*

Empecé a usar Visual Studio 2010. Después de terminar con el programa C #, veo que hay archivos .sln y .suo en el directorio raíz del proyecto y un archivo .csproj en el subdirectorio. ¿Para qué son esos archivos?

Necesito identificar los archivos para poner en un repositorio de Git. Junto con el código fuente / documentos que creo, supongo que esos tres archivos son los únicos que debo cuidar. Sin embargo, no estoy seguro de si estoy rastreando los archivos correctos.

ADICIONAL

¿Qué hay de los archivos macro personales? Tengo la macro de interruptor de llave Emacs , ¿el archivo .sln o el archivo .csproj tienen esta macro?


Desde MSDN:

Una solución (.sln) es una estructura para organizar proyectos en Visual Studio. Realiza una función similar a los archivos del grupo de programas de Windows (.vbg) en Visual Basic 6.0 y los archivos del espacio de trabajo del proyecto (.dsw) en Visual C ++ 6.0. La solución mantiene la información de estado para proyectos en archivos .sln (basados ​​en texto, compartidos) y .suo (opciones binarias, opciones de solución específicas del usuario) ... [Source]

Además, también desde MSDN:

El archivo de opciones de usuario de solución (.suo) es un archivo de almacenamiento estructurado o compuesto almacenado en formato binario. Guarda la información del usuario en secuencias con el nombre de la secuencia que será la clave que se utilizará para identificar la información en el archivo .suo ... [Source]

No necesita colocar el archivo .suo en VCS. Ese es un archivo específico del usuario.


Los archivos SUO tienen un propósito y estoy en desacuerdo con la afirmación de que siempre deben ignorarse. No los ignoro, y como práctica general los agrego a nuestro repositorio SVN. Mis proyectos no siempre usan los valores predeterminados de la solución para Startup Project o Platform. Me resulta molesto que, si tomo un nuevo proyecto, no tenga una plataforma predeterminada de 64 bits. El SUO contiene la configuración para establecer estos valores predeterminados correctamente.

La desventaja de esto es que se trata de un archivo binario, por lo que casi cada vez que abres la solución y haces cualquier cosa, el archivo habrá cambiado. Por lo general, el archivo es menos de 100k, y a menos que sepa que ha cambiado algo, no confirmo el cambio.


SLN (Solución) son los archivos de solución. Almacena información sobre la colección de proyectos que conforman lo que sea que esté desarrollando. Contienen proyectos, configuraciones de control de fuente o cualquier otra cosa de nivel global.

CSProj (archivo de proyecto) son los proyectos de código reales (bibliotecas C #, servicios WCF, etc.). Almacena información a nivel de proyecto. Envuelve todas las referencias relevantes, Classess, etc.

SUO (opciones de usuario de la solución) son archivos de configuración del usuario. Completamente desechable, puedes eliminarlo y lo más común que perderás son puntos de interrupción.

Empuje todo menos los archivos de configuración de SUO.

No incluya ningún directorio bin, debug, obj. Los únicos archivos DLL (u objetos compilados / generados) que debe incluir son aquellos que son externos a su aplicación.