Best Practices für Subversion- und Visual Studio-Projekte
Ich habe vor kurzem begonnen arbeiten an verschiedenen C# - Projekten in Visual Studio als Teil eines plans für eine groß angelegte system, das verwendet wird, zu ersetzen, die unser derzeitiges system, gebaut von einem cobbling zusammen verschiedene Programme und Scripte geschrieben in C und Perl. Den Projekten, die ich arbeite jetzt an haben die kritische Masse erreichte, die für commit subversion. Ich Frage mich, was sollte und sollte nicht begangen werden, um das repository für Visual Studio-Projekte. Ich weiß, dass es erzeugen verschiedene Dateien, die nur build-Artefakte und nicht wirklich brauchen, begangen zu werden, und ich Frage mich, ob jemand schon irgendwelche Tipps für die richtige Verwendung der SVN mit Visual Studio. Im moment bin ich mit einem SVN 1.6-server mit Visual Studio 2010 beta. Irgendwelche Ratschläge, Meinungen sind willkommen.
InformationsquelleAutor der Frage Alex Marshall | 2009-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut MSDN:
InformationsquelleAutor der Antwort Justin R.
Ich würde vorschlagen, mit AnkhSVN - eine Subversion source control plugin für Visual Studio 2008/2010.
Können Sie es verwenden, um Ihre erste add und commit der Lösung, - Projekte und-Quellen in das repository und es wird nicht fügen Sie einen beliebigen build-Artefakte. Es wird nicht fügen Sie alles, was erzeugt wird, durch Ihren build, nur Dateien, auf die verwiesen wird durch Ihre Lösung. Wenn es irgendwelche anderen bits und Stücke, die Sie brauchen, nicht in Ihrer Lösung können Sie fügen Sie Sie anschließend.
InformationsquelleAutor der Antwort GraemeF
Setzen Sie die folgenden Dateien in der Versionskontrolle:
Tun nicht setzen Sie die folgenden Dateien in der Versionskontrolle:
Sich auch nicht in der beliebigen Objekt-Dateien, ausführbare Dateien, die automatisch generierten Dateien (wie Kopfzeilen, die generiert werden könnten).
Als für ausführbare Dateien und andere Dateien erzeugt - es könnte eine Ausnahme sein, wenn Sie wollen in der Lage sein, auf Archiv-Veröffentlichungen. Das könnte eine gute Idee sein, aber Sie werden wahrscheinlich wollen, um Sie zu verwalten ein wenig anders und möglicherweise an einem anderen Ort als Ihrem source-code. Wenn Sie dies tun, auch archivieren .pdb-Dateien, so können Sie die debug-Sachen später. Sie möchten möglicherweise verwenden Sie ein Symbol Server zu speichern archiviert Symbole (siehe Debugging Tools für Windows für die symbol-server und dessen Dokumentation).
Hier ist meine Liste der VS-spezifischen Dateien, die ich ausschließen, aus dem SVN:
InformationsquelleAutor der Antwort Michael Burr
Lösung level:
.sln
Lösung Datei.suo
solution user options fileProjekt-Ebene:
.csproj
.vbproj
(und c++ proj?) Dateien.csproj.user
.vbproj.user
Dateienbin
Verzeichnisobj
VerzeichnisWenn Sie verwenden und VS addins, können Sie Dateien generieren, müssen auch ignorieren (ie. ReSharper generiert
.resharper
und.resharper.user
- Dateien).Ignore-Elemente können entweder ignoriert explizit nach Dateinamen (dh.
MyProject.csproj
), oder durch ein wildcard-Muster (dh.*.csproj.user
).Sobald Sie Ihr ignoriert eingerichtet, Check-out eine saubere Kopie Ihrer Quelle, dann Bau sollte sich dann zeigen, keine änderungen (dh. keine neuen, nicht versionierte Dateien).
InformationsquelleAutor der Antwort adrianbanks
Würde ich manuell alle Dateien, die ich denke, ich sollte das nicht der Versionskontrolle.
Mein global ignore pattern:
.dll .pdb .exe .cache .webinfo .snk bin obj debug _Resharper .Benutzer resharper
InformationsquelleAutor der Antwort Andre Gallo
Falls Sie mit ignorieren-Liste, SVN groß-und Kleinschreibung. Denken Sie also daran, Sie zu ignorieren-bin-und-Bin-Ordner separat.
Außerdem hatte ich eine Frage.. warum dauert es viel Zeit einige Male aktualisieren Sie die status-Symbol? Manchmal wird es sehr verwirrend.
InformationsquelleAutor der Antwort Manoj
Sehen Mercurial .hgignore für Visual Studio 2008-Projekte Mercurial-ignorieren-Liste. Ich bin nicht vertraut mit der syntax von SVN-ignore-Liste aber dieser thread hat ein paar gute Listen, was zu ignorieren, die in Visual Studio.
InformationsquelleAutor der Antwort CAD bloke