Devo aggiungere la cartella .vs di Visual Studio 2015 al controllo del codice sorgente?


321

Visual Studio 2015 crea una nuova cartella denominata ".vs". Qual è lo scopo e devo aggiungerlo al controllo del codice sorgente?



2
@MichaelFreidgeim: Non sono sicuro, l'altra domanda fa un file specifico e riguarda l'intera cartella. Ma succede che alcune delle risposte più ampie si adattano ad entrambi.
SoftwareFactor

Risposte:


338

No, non dovresti aggiungerlo al controllo del codice sorgente. Lo scopo di questa cartella è di spostare i file specifici della macchina e dell'utente in una posizione centrale. La spiegazione sul problema della voce utente di Visual Studio lo spiega bene:

Finora, abbiamo spostato il file .SUO e i file di database IntelliSense del compilatore VB / C # nella nuova posizione. Tutti i nuovi file locali specifici del progetto verranno aggiunti anche nella nuova posizione. Abbiamo in programma di portarlo ancora più avanti nelle versioni future e stiamo studiando come migliorare la struttura delle directory dell'output di compilazione e altri file esistenti che possono ingombrare l'albero dei sorgenti.

Questi sono tutti file che non dovresti mai archiviare, poiché sono generati da una build o contengono informazioni specifiche della macchina.


23
È una specie di colpo grosso per dire di non controllare l'intera cartella. Se il tuo sito Web richiede applicationhost.configconfigurazioni specifiche di IIS Express (come l'utilizzo di un nome host per i cookie per funzionare), il check-in aiuta gli altri sviluppatori nella configurazione del loro ambiente, altrimenti ognuno deve farlo da solo e probabilmente lo trovano nel modo più difficile .
Mrchief,

3
@Mrchief Non sono uno sviluppatore IIS, ma credo che questa risposta sia indirizzata a questo.
Patrick Quirk,

2
Quella risposta non è in realtà una soluzione, più una soluzione alternativa (a cui la risposta stessa allude). Quello che stavo cercando di dire era che una risposta binaria potrebbe non essere sufficiente per tutti. A seconda della configurazione, potrebbe essere necessario escludere la cartella ma quindi aggiungere un'eccezione per il applicationhost.configfile o qualcosa verso quell'effetto.
Mrchief,

3
@Mrchief: In realtà non è una soluzione alternativa, questa è la soluzione migliore. Non penso che dovresti mai controllare la cartella .vs, non è pensata per esserlo.
DR

6
Come afferma la risposta citata di lugberk: "non c'è modo di dire ai progetti ASP.NET 5 di cercarlo oggi". Per questo motivo, non vedo alcuna altra opzione per condividere le impostazioni di configurazione di IIS Express tra i progetti ASP.NET 5 oltre a quella del controllo nel file applicationhost.config in .vs. O vedi qualche altra / migliore soluzione?
Gustin,

86

Github fornisce molti modelli .gitignore. Nel loro modello per Visual Studio hanno ignorato la cartella .vs. Snippet dal modello su github .

# Visual Studio 2015 cache/options directory
.vs/

3
Questo può aiutare qualcuno a decidere (pigramente), ma non dà consigli forti o alcun motivo per farlo. Il titolo ("Directory cache / opzioni di Visual Studio 2015") aiuta di più a decidere.
Mohammad Dehghan,

Per inciso, la stessa linea si applica a .hgignore
Charles Burns,

23

Come descritto nella citazione presa da Uservoice nella risposta di Patrick, la cartella non è destinata al controllo del codice sorgente.

Tuttavia, come sottolineano anche i commenti, possono esserci alcuni casi in cui si desidera includere file specifici dalla cartella.

Vorrei aggiungere questo a .gitignore:

.vs/

Quindi usa qualsiasi strumento git che preferisci per aggiungere determinati file come una configurazione condivisa di applicationhost.config, se necessario.

O usa un comando git come questo:

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

In questo modo git aggiunge il file, anche se viene ignorato.


3
Vorrei aggiungere che se si utilizza TFS, è possibile utilizzare il prefisso negate nel file .tfignore per "includere nuovamente" un file applicationhost.config dopo aver escluso la cartella .vs. Il file .tfignore predefinito lo spiega in questo modo: "Il prefisso! Annulla un modello. Questo può essere usato per includere nuovamente un elemento dopo che è stato escluso da un file .tfignore più in alto nella struttura o dalle esclusioni globali del Team Project Collection elenco."
Aaron,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.