¿Debo agregar la carpeta Visual Studio 2015 .vs al control de origen?

321

Visual Studio 2015 crea una nueva carpeta llamada ".vs". ¿Cuál es su propósito y debo agregarlo al control de origen?

SoftwareFactor
fuente
Posible duplicado de .vs \ config \ applicationhost.config en el control de origen
Michael Freidgeim
2
@MichaelFreidgeim: No estoy seguro, la otra pregunta se refiere a un archivo específico y se trata de la carpeta completa. Pero sucede que algunas de las respuestas más amplias se ajustan a ambos.
SoftwareFactor

Respuestas:

338

No, no debe agregarlo al control de origen. El propósito de esta carpeta es mover archivos específicos de la máquina y del usuario a una ubicación central. La explicación sobre el problema de Visual Studio User Voice lo explica bien:

Hasta ahora, hemos movido el archivo .SUO y los archivos de la base de datos IntelliSense del compilador VB / C # a la nueva ubicación. Todos los nuevos archivos específicos del proyecto y locales de la máquina también se agregarán a la nueva ubicación. Planeamos llevar esto aún más lejos en futuras versiones y estamos investigando cómo mejorar la estructura de directorios de la salida de compilación y otros archivos existentes que pueden saturar el árbol de origen.

Estos son todos los archivos que nunca registraría, ya que se generan a partir de una compilación o contienen información específica de la máquina.

Patrick Quirk
fuente
23
Es un golpe amplio decir que no revises toda la carpeta. Si su sitio web requiere configuraciones específicas de IIS Express (como el uso de un nombre de host para que las cookies funcionen), verificando la applicationhost.configayuda de otros desarrolladores para configurar su entorno, de lo contrario, cada uno debe hacerlo por su cuenta y probablemente lo descubran de la manera difícil .
Mrchief
3
@Mrchief No soy un desarrollador de IIS, pero creo que esta respuesta aborda eso.
Patrick Quirk
2
Esa respuesta realmente no es una solución, sino más bien una solución alternativa (a la que alude la respuesta en sí misma). Lo que intentaba decir era que una respuesta binaria puede no ser suficiente para todos. Dependiendo de su configuración, es posible que deba excluir la carpeta pero luego agregar una excepción para el applicationhost.configarchivo o algo relacionado con ese efecto.
Mrchief
3
@Mrchief: en realidad no es una solución, esta es la mejor solución. No creo que deba registrar la carpeta .vs, no está destinada a serlo.
DR
66
Como dice la respuesta citada de lugberk: "no hay forma de decirle a los proyectos de ASP.NET 5 que busquen esto hoy". Debido a eso, no veo ninguna otra opción para compartir esas configuraciones de configuración de IIS Express entre proyectos ASP.NET 5 que la de registrar el archivo applicationhost.config en .vs. ¿O ves alguna otra / mejor solución?
Gustin
86

Github proporciona muchas plantillas .gitignore. En su plantilla para Visual Studio, han ignorado la carpeta .vs. Fragmento de la plantilla en github .

# Visual Studio 2015 cache/options directory
.vs/
crea1
fuente
3
Eso puede ayudar a alguien a decidir (perezosamente), pero no da consejos sólidos ni ninguna razón para hacerlo. El título ("Directorio de opciones / caché de Visual Studio 2015") ayuda más a la hora de decidir.
Mohammad Dehghan
Por cierto, la misma línea se aplica a .hgignore
Charles Burns
23

Como se describe en la cita tomada de la voz del usuario en la respuesta de Patrick, la carpeta no está destinada para el control de origen.

sin embargo como los comentarios también señalan, puede haber algunos casos en los que desee incluir archivos específicos de la carpeta.

Yo agregaría esto a .gitignore:

.vs/

Y luego use la herramienta git que prefiera para agregar ciertos archivos, como una configuración compartida de applicationhost.config si es necesario.

O use un comando git como este:

git add -f .vs/config/applicationhost.config

De esta manera, git agrega el archivo, incluso si se ignora.

Jim Wolff
fuente
3
Me gustaría agregar que si está usando TFS, puede usar el prefijo negado en su archivo .tfignore para "volver a incluir" un archivo applicationhost.config después de excluir la carpeta .vs. El archivo .tfignore predeterminado lo explica así: "El prefijo! Niega un patrón. Esto se puede usar para volver a incluir un elemento después de que haya sido excluido por un archivo .tfignore más arriba en el árbol, o por las exclusiones globales de Team Project Collection lista."
Aaron