Sollte ich den Visual Studio 2015 .vs-Ordner zur Quellcodeverwaltung hinzufügen?

320

Visual Studio 2015 erstellt einen neuen Ordner mit dem Namen ".vs". Was ist der Zweck davon und sollte ich es der Quellcodeverwaltung hinzufügen?

SoftwareFactor
quelle
Mögliches Duplikat von .vs \ config \ applicationhost.config in der Quellcodeverwaltung
Michael Freidgeim
2
@MichaelFreidgeim: Nicht sicher, die andere Frage fragt nach einer bestimmten Datei und dies betrifft den gesamten Ordner. Es kommt jedoch vor, dass einige der umfassenderen Antworten zu beiden passen.
SoftwareFactor

Antworten:

336

Nein, Sie sollten es nicht zur Quellcodeverwaltung hinzufügen. Der Zweck dieses Ordners besteht darin, maschinen- und benutzerspezifische Dateien an einen zentralen Ort zu verschieben. Die Erklärung zum Problem mit Visual Studio User Voice erklärt dies gut:

Bisher haben wir die .SUO-Datei und die IntelliSense-Datenbankdateien des VB / C # -Compilers an den neuen Speicherort verschoben. Alle neuen projektspezifischen lokalen Dateien des Computers werden ebenfalls zum neuen Speicherort hinzugefügt. Wir planen, dies in zukünftigen Versionen noch weiter voranzutreiben, und untersuchen, wie die Verzeichnisstruktur der Build-Ausgabe und anderer vorhandener Dateien, die den Quellbaum überladen können, verbessert werden kann.

Dies sind alles Dateien, die Sie niemals einchecken würden, da sie aus einem Build generiert werden oder maschinenspezifische Informationen enthalten.

Patrick Quirk
quelle
23
Das ist eine Art breiter Strich zu sagen, nicht den ganzen Ordner einchecken. Wenn für Ihre Website bestimmte IIS Express-Konfigurationen erforderlich sind (z. B. die Verwendung eines Hostnamens, damit Cookies funktionieren), applicationhost.confighilft das Einchecken der anderen Entwicklern beim Einrichten ihrer Umgebung. Andernfalls muss dies jeder für sich tun und sie finden es wahrscheinlich auf die harte Tour heraus .
Mrchief
3
@ Mrchief Ich bin kein IIS-Entwickler, aber ich glaube, diese Antwort spricht das an.
Patrick Quirk
2
Diese Antwort ist wirklich keine Lösung, sondern eher eine Problemumgehung (auf die die Antwort selbst anspielt). Ich wollte damit sagen, dass eine binäre Antwort möglicherweise nicht für alle ausreicht. Abhängig von Ihrem Setup müssen Sie möglicherweise den Ordner ausschließen, dann aber eine Ausnahme für die applicationhost.configDatei oder etwas in Richtung dieses Effekts hinzufügen .
Mrchief
3
@ Mrchief: Eigentlich ist das keine Problemumgehung, das ist die beste Lösung. Ich denke nicht, dass Sie jemals den .vs-Ordner einchecken sollten, das ist nicht beabsichtigt.
DR
6
In der zitierten Antwort von lugberk heißt es: "Es gibt keine Möglichkeit, ASP.NET 5-Projekte anzuweisen, heute danach zu suchen." Aus diesem Grund sehe ich keine andere Option zum Freigeben dieser IIS Express-Konfigurationseinstellungen für ASP.NET 5-Projekte als das Einchecken der Datei applicationhost.config unter .vs. Oder sehen Sie eine andere / bessere Lösung?
Gustin
85

Github bietet viele .gitignore-Vorlagen. In ihrer Vorlage für Visual Studio haben sie den Ordner .vs ignoriert. Ausschnitt aus der Vorlage auf Github .

# Visual Studio 2015 cache/options directory
.vs/
crea1
quelle
3
Das kann jemandem helfen, sich zu entscheiden (träge), gibt aber keinen starken Rat oder Grund dazu. Der Titel ("Visual Studio 2015-Cache / Optionsverzeichnis") hilft bei der Entscheidung.
Mohammad Dehghan
Übrigens gilt die gleiche Zeile für .hgignore
Charles Burns
22

Wie in dem Zitat aus uservoice in Patricks Antwort beschrieben, ist der Ordner nicht für die Quellcodeverwaltung vorgesehen.

Wie auch in Kommentaren erwähnt, kann es in einigen Fällen vorkommen, dass Sie bestimmte Dateien aus dem Ordner einfügen möchten.

Ich würde dies zu .gitignore hinzufügen:

.vs/

Verwenden Sie dann das von Ihnen bevorzugte Git-Tool, um bei Bedarf bestimmte Dateien wie eine gemeinsam genutzte Konfiguration der applicationhost.config hinzuzufügen.

Oder verwenden Sie einen git-Befehl wie folgt:

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

Auf diese Weise fügt git die Datei hinzu, auch wenn sie ignoriert wird.

Jim Wolff
quelle
3
Ich möchte hinzufügen, dass Sie bei Verwendung von TFS das Präfix negate in Ihrer .tfignore-Datei verwenden können, um eine applicationhost.config-Datei nach dem Ausschließen des .vs-Ordners wieder einzuschließen. Die Standarddatei .tfignore erklärt dies folgendermaßen: "Das Präfix! Negiert ein Muster. Dies kann verwendet werden, um ein Element wieder einzuschließen, nachdem es durch eine höher im Baum stehende .tfignore-Datei oder durch die globalen Ausschlüsse der Team Project Collection ausgeschlossen wurde Liste."
Aaron