Frage Soll ich die Visual Studio .su und .user-Dateien der Quellcodeverwaltung hinzufügen?


Visual Studio-Lösungen enthalten zwei Arten von versteckten Benutzerdateien. Einer ist die Lösung .suo Datei, die eine Binärdatei ist. Der andere ist das Projekt .user Datei, die eine Textdatei ist. Welche Daten enthalten diese Dateien?

Ich habe mich auch gefragt, ob ich diese Dateien zur Quellcodeverwaltung hinzufügen sollte (in meinem Fall Subversion). Wenn ich diese Dateien nicht hinzufüge und ein anderer Entwickler die Lösung auscheckt, erstellt Visual Studio automatisch neue Benutzerdateien?


763
2017-09-16 13:40


Ursprung


Antworten:


Diese Dateien enthalten Konfigurationen für Benutzereinstellungen, die im Allgemeinen für Ihren Computer spezifisch sind. Daher sollten Sie sie nicht in SCM einfügen. Außerdem wird VS es fast jedes Mal ändern, wenn Sie es ausführen, daher wird es immer vom SCM als "geändert" markiert. Ich auch nicht, ich bin in einem Projekt mit VS für 2 Jahre und hatte keine Probleme damit. Der einzige kleine Nachteil ist, dass die Debug-Parameter (Ausführungspfad, Deployment-Ziel, etc.) in einer dieser Dateien gespeichert sind (weiß nicht welche), wenn Sie also einen Standard für sie haben, können Sie nicht ' Veröffentlichen Sie es über SCM für andere Entwickler, um die gesamte Entwicklungsumgebung "einsatzbereit" zu haben.


615
2017-09-16 14:08



Sie müssen diese nicht hinzufügen - sie enthalten benutzerspezifische Einstellungen und andere Entwickler möchten Ihre Kopie nicht.


128
2017-09-16 13:42



Andere haben erklärt, warum sie das haben *.suo und *.user Dateien unter Quellcodeverwaltung ist keine gute Idee.

Ich würde vorschlagen, dass Sie diese Muster hinzufügen svn:ignore Eigenschaft aus 2 Gründen:

  1. So werden andere Entwickler nicht enden mit den Einstellungen eines Entwicklers.
  2. Also, wenn Sie den Status anzeigen oder commit Dateien, diese Dateien werden nicht die Codebasis durcheinander bringen und neue Dateien verschleiern, die Sie hinzufügen müssen.

64
2017-09-17 14:55



Wir übernehmen die Binärdatei (* .suo) nicht, aber wir übergeben die .user-Datei. Die .user-Datei enthält beispielsweise die Startoptionen zum Debuggen des Projekts. Sie finden die Startoptionen in den Eigenschaften des Projekts in der Registerkarte "Debug". Wir haben NUnit in einigen Projekten verwendet und die Datei nunit-gui.exe als Startoption für das Projekt konfiguriert. Ohne die .user-Datei müsste jedes Teammitglied es separat konfigurieren.

Hoffe das hilft.


46
2017-09-16 13:46



Seit ich diese Frage / Antwort 2011 in Google gefunden habe, dachte ich, ich würde eine Sekunde brauchen und den Link für die von Visual Studio 2010 erstellten * .SDF-Dateien zur Liste der Dateien hinzufügen, die der Versionskontrolle wahrscheinlich nicht hinzugefügt werden sollten ( die IDE wird sie neu erstellen). Da ich nicht sicher war, dass eine * .sdf-Datei an anderer Stelle legitim verwendet werden kann, ignorierte ich nur die spezifische [Projektname] .sdf-Datei von SVN.

Warum erstellt der Visual Studio-Konvertierungsassistent 2010 eine umfangreiche SDF-Datenbankdatei?


25
2017-07-04 14:21



Nein, Sie sollten sie nicht zur Quellcodeverwaltung hinzufügen, da sie - wie Sie sagten - benutzerspezifisch sind.

SUO (Lösungsbenutzeroptionen): Datensätze   alle möglichen Optionen   Verknüpfen Sie Ihre Lösung damit   Jedes Mal, wenn Sie es öffnen, enthält es   Anpassungen, die Sie   gemacht.

Die .user-Datei enthält die Benutzeroptionen für das Projekt (während SUO die Lösung darstellt) und erweitert den Namen der Projektdatei (z. B. anything.csproj.user enthält Benutzereinstellungen für das Projekt ally.csproj).


22
2017-09-16 13:55



Standardmäßig enthält Visual SourceSafe von Microsoft diese Dateien nicht in der Quellcodeverwaltung, da es sich um benutzerspezifische Einstellungsdateien handelt. Ich würde diesem Modell folgen, wenn Sie SVN als Quellcodeverwaltung verwenden.


17
2017-09-16 13:43



Dies scheint die Meinung von Microsoft zu sein: http://social.msdn.microsoft.com/forums/en-US/vssourcecontrol/thread/dee90d75-d825-4c76-a30f-016eab15ef7f

Ich weiß nicht, warum Ihr Projekt das DebuggingWorkingDirectory speichert   die SUO-Datei. Wenn das eine benutzerspezifische Einstellung ist, sollten Sie dies berücksichtigen   Speichern Sie das im Dateinamen * .proj.user. Wenn diese Einstellung gemeinsam genutzt werden kann   zwischen allen Benutzern, die an dem Projekt arbeiten, sollten Sie darüber nachdenken, sie zu speichern   es in der Projektdatei selbst.

Denken Sie nicht einmal daran, die SUO-Datei der Quellcodeverwaltung hinzuzufügen! Das SUO   (soluton user options) -Datei soll benutzerspezifisch sein   Einstellungen, und sollte nicht unter den Benutzern geteilt werden, die an demselben arbeiten   Lösung. Wenn Sie die SUO-Datei in der SCC-Datenbank hinzufügen würde, tue ich das nicht   wissen, welche anderen Dinge in der IDE Sie brechen würden, aber von der Quellcodeverwaltung   Sicht Sie brechen Web-Projekte SCC-Integration, die Lan vs   Internet-Plugin von verschiedenen Benutzern für VSS-Zugriff verwendet, und Sie könnten   sogar verursachen, dass der scc komplett durchbricht (VSS-Datenbankpfad, gespeichert in   SUO-Datei, die möglicherweise für Sie gültig ist, ist möglicherweise nicht für einen anderen Benutzer gültig).

Alin Constantin (MSFT)


16
2017-09-16 13:52



Visual Studio erstellt sie automatisch. Ich empfehle nicht, sie in die Quellcodeverwaltung zu stellen. Es gab schon öfters Fälle, in denen die SOU-Datei eines lokalen Entwicklers dazu führte, dass sich VS auf dieser Entwickler-Box unberechenbar verhielt. Durch das Löschen der Datei und das erneute Erstellen der Datei durch VS wurden die Probleme behoben.


11
2017-09-16 13:42