Devo adicionar a pasta .vs do Visual Studio 2015 ao controle de origem?

321

O Visual Studio 2015 cria uma nova pasta chamada ".vs". Qual é o objetivo disso e devo adicioná-lo ao controle de origem?

SoftwareFactor
fonte
Possível duplicado de .VS \ config \ applicationhost.config no controle de origem
Michael Freidgeim
2
@ MichaelFreidgeim: Não tenho certeza, a outra pergunta é sobre um arquivo específico e é sobre toda a pasta. Mas acontece que algumas das respostas mais amplas se encaixam em ambas.
SoftwareFactor

Respostas:

338

Não, você não deve adicioná-lo ao controle de origem. O objetivo desta pasta é mover arquivos específicos da máquina e do usuário para um local central. A explicação sobre o problema do Visual Studio User Voice explica bem:

Até agora, movemos o arquivo .SUO e os arquivos de banco de dados IntelliSense do compilador VB / C # para o novo local. Todos os novos arquivos locais da máquina específicos do projeto também serão adicionados ao novo local. Planejamos levar isso ainda mais longe em versões futuras e estamos investigando como melhorar a estrutura de diretórios da saída de compilação e outros arquivos existentes que podem sobrecarregar a árvore de origem.

Esses são todos os arquivos que você nunca faria check-in, pois são gerados a partir de uma construção ou contêm informações específicas da máquina.

Patrick Quirk
fonte
23
É uma espécie de golpe geral para dizer que não deve verificar a pasta inteira. Se o seu site exigir configurações específicas do IIS Express (como usar um nome de host para que os cookies funcionem), verificar a applicationhost.configajuda de outros desenvolvedores na configuração de seu ambiente; caso contrário, cada um precisará fazer isso por conta própria e provavelmente descobrirá da maneira mais difícil. .
Mrchief 12/10/2015
3
@ Mrchief Eu não sou um desenvolvedor do IIS, mas acredito que esta resposta seja essa.
Patrick Quirk
2
Essa resposta não é realmente uma solução, é mais uma solução alternativa (à qual a resposta em si alude). O que eu estava tentando dizer era que uma resposta binária pode não ser suficiente para todos. Dependendo da sua configuração, talvez seja necessário excluir a pasta, mas adicione uma exceção para o applicationhost.configarquivo ou algo nesse sentido.
Mrchief
3
@Mrchief: Na verdade, isso não é solução, esta é a melhor solução. Eu acho que você nunca deve verificar na pasta .vs, não se destina a ser.
DR
6
Como a resposta citada por lugberk afirma: "não há como dizer aos projetos do ASP.NET 5 para procurar isso hoje". Por esse motivo, não vejo outra opção para compartilhar essas definições de configuração do IIS Express entre projetos do ASP.NET 5 além da verificação no arquivo applicationhost.config em .vs. Ou você vê alguma outra / melhor solução?
Gustin 23/05
86

O Github fornece muitos modelos .gitignore. Em seu modelo para o visual studio, eles ignoraram a pasta .vs. Trecho do modelo no github .

# Visual Studio 2015 cache/options directory
.vs/
crea1
fonte
3
Isso pode ajudar alguém a decidir (preguiçosamente), mas não fornece conselhos fortes ou qualquer motivo para fazê-lo. O título ("diretório de opções / cache do Visual Studio 2015") ajuda mais na decisão.
Mohammad Dehghan
Aliás, o mesmo se aplica a linha hgignore
Charles Burns
23

Conforme descrito na citação da uservoice na resposta de Patrick, a pasta não se destina ao controle de origem.

No entanto, como os comentários também apontam, pode haver alguns casos em que você deseja incluir arquivos específicos da pasta.

Eu adicionaria isso ao .gitignore:

.vs/

E, em seguida, use qualquer ferramenta git que você preferir para adicionar certos arquivos, como uma configuração compartilhada do applicationhost.config, se necessário.

Ou use um comando git como este:

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

Dessa forma, o git adiciona o arquivo, mesmo que seja ignorado.

Jim Wolff
fonte
3
Gostaria de acrescentar que, se você estiver usando o TFS, poderá usar o prefixo negar no arquivo .tfignore para "incluir novamente" um arquivo applicationhost.config após excluir a pasta .vs. O arquivo .tfignore padrão explica assim: "O prefixo! Nega um padrão. Isso pode ser usado para incluir novamente um item depois que ele foi excluído por um arquivo .tfignore mais alto na árvore ou pelas exclusões globais da Team Project Collection Lista."
Aaron