¿Son útiles .sln / .csproj para compartir el proyecto Unity?

13

Estamos experimentando algunos problemas con GIT y Unity. Ocurre con bastante frecuencia que el archivo .sln / .csproj nos causa algunos problemas, por lo que después de buscar por un tiempo en la web, descubrí que tal vez estos archivos no son necesarios para empujar. Alguien tiene algún comentario sobre esto? https://gist.github.com/hw/1234398 Allí, por ejemplo, están incluidos en .gitignore, pero sinceramente no sé qué hace este tipo de archivos.

¿Puedo excluirlos de mi repositorio o este archivo es relevante para algunas referencias en mi juego?

Max
fuente

Respuestas:

21

Desde mi experiencia personal, noté que es mejor excluir * .csproj y * .sln del control de origen: Unity genera estos archivos cada vez que abre un proyecto o agrega / elimina archivos de origen de todos modos, para que no los pierda. También puede hacerlo manualmente a través del elemento de menú "Sync MonoDevelop Project".

Es especialmente útil excluirlos si hay más de un desarrollador en el proyecto, porque el contenido generado automáticamente de estos archivos puede ser diferente para cada usuario (eso depende de la ruta de instalación de Unity y probablemente de otros factores), lo que puede causar muchos cambios innecesarios de archivos comprometidos con el repositorio.

Alexander Konstantinov
fuente
44
También debe excluir toda la biblioteca / carpeta.
michael.bartnett
Olvidó escribir que solo funciona con MonoDevelop y VS 20xx. Esto es totalmente incorrecto porque usar vscode o rider unity no creará ningún archivo incluso si agrega un nuevo script de C # o reinicia unity
Herrgott
2

Nunca verifico el .sln o csproj. Solo reviso el proyecto de unidad real. Deje que unity administre los archivos de solución por usted. Puede ser un dolor de cabeza si algunos olvidan registrar solo uno de los .csproj desde la carpeta del editor o algo así. Entonces, si entra un nuevo codificador, revisan el repositorio y hacen doble clic en un archivo con mondevelop o vs.

También me aseguro de hacer un Scn ignorar en todos esos archivos también, para que el artista no los revise por accidente para jaja

Hector llanos
fuente
¿Qué pasa si el nuevo codificador no usa este monodesarrollo y no puede usar vs porque está usando Linux?
Herrgott
0

Puede excluir esos archivos de forma segura porque Mono los vuelve a generar automáticamente. El código dentro de esos archivos se lee solo desde archivos abiertos, no archivos DLL protegidos de, por ejemplo, un complemento pagado.

AkiDakiObi
fuente