2010-04-16 9 views
15

Ich habe ein Projekt, das ich über die Versionskontrolle perforce manuell verwalten möchte, da ich nur die Express-Edition habe. Was ich suche ist, welche Dateien in der Versionskontrolle ausgeschlossen werden sollten, da das Sperren von vielen der Dateien zu einem Problem beim Kompilieren und Debuggen von Visual Studio führen kann.Welche C# -Projektdateien sollte ich Versionskontrolle?

Was ich bisher habe, enthalten.
CS-Dateien (außer Eigenschaften Ordner)
RESX-Dateien
CSPROJ Dateien

Ausgeschlossen
Binärordner
obj Ordner
Ordner Eigenschaften
.user Datei

Let Ich weiß, ob es etwas mehr gibt, was ich ausgeschlossen habe oder ob es einen besseren Weg gibt, t zu tun seine.

+1

Wenn Sie Student sind, können Sie VS Professional durch DreamSpark erhalten. – SLaks

+0

Sehr coole Website, leider ist dies für die Arbeit. – DTown

+0

Ich habe immer nur alle Dateien aufgenommen und ich habe nie irgendwelche Probleme bemerkt. – Brandi

Antwort

11

Sie sollten den Ordner Eigenschaften einschließen; Es enthält AssemblyInfo.cs (mit allen Assemblyattributen) und die Standarddateien für Ressourcen und Einstellungen des Projekts (sofern vorhanden).

Sie sollten auch die .sln-Datei einschließen, falls vorhanden.

12

auch ausschließen:

.suo 
app.config (you should commit something like app-dev.config instead) 

Re: app.config:

app.config enthält in der Regel maschinenspezifische Informationen (wie Datenbankverbindungszeichenfolgen, Standardeinstellungen oder Pfade zu Ressourcen) und Sie don‘ Ich will, dass es jedes Mal, wenn Sie aus der Quellcodeverwaltung auschecken, klirrt. Diese Dateien sollten mit Bereitstellungsskripts erstellt/kopiert werden.

Wenn mehrere Entwickler in einem Projekt mit jeweils einem eigenen Datenbankserver arbeiten, ist dies besonders ärgerlich. Das Umgekehrte kann sogar noch gefährlicher sein - wenn Sie Code zur Produktion bereitstellen, indem Sie aus der Versionskontrolle auschecken, können Sie die Produktion versehentlich auf eine Entwicklungsdatenbank einstellen, was katastrophal sein könnte.

+0

Warum sollten Sie app.config ausschließen? – SLaks

+0

@SLaks: siehe mein Update – RedFilter

+1

Bei meiner Arbeit checken wir ein "app.config-template" ein. Wenn Sie zum ersten Mal auschecken, kopieren Sie dies in "app.config" (ausgeschlossen von VC) und füllen Sie die relevanten Werte für Sie aus. Dies erspart den Entwicklern das Schreiben einer ganzen app.config von Grund auf, bedeutet aber auch, dass sie nie versehentlich eine app.config einchecken, die persönliche Einstellungen enthält. – Ken

6

Vergessen Sie nicht, Bilder, Symbole usw., die Sie in Ihrer Anwendung verwenden, hinzuzufügen. Es ist leicht, diese zu vergessen.

Auch, wenn Sie Dokumentation mit dem Projekt verbunden haben - Spezifikationen, Designs, Hilfedateien usw. Legen Sie diese in separate Ordner unter dem Projekt und fügen Sie sie dann auch ein.

1

Wenn ich DLLs von Drittanbietern verwende, steuere ich sie mit dem Projekt und verwende Seite-an-Seite-Bereitstellung, so dass die DLL während der Kompilierung in den bin-Ordner kopiert wird (im Gegensatz zur Registrierung der DLL im GAC)). Dies hat zur Folge, dass ein anderer Entwickler das Projekt von der Quellcodeverwaltung abziehen kann und über die Abhängigkeiten verfügt, die zum erfolgreichen Kompilieren und Ausführen des Projekts erforderlich sind. Es gibt kein verschwenderisches Herunterladen und Installieren von Komponenten von Drittanbietern, und Sie sind sicher, dass jeder gegen dieselbe Version der Drittanbieter-DLL entwickelt/testet.

Verwandte Themen