collaboration - Best Practice: Kollaborative Umgebung, Bin-Verzeichnis, SVN

Translate

Was sind die Best Practices zum Einchecken von BIN-Verzeichnissen in einer kollaborativen Entwicklungsumgebung mithilfe von SVN? Sollten Referenzen auf Projektebene vom Einchecken ausgeschlossen werden? Ist es einfacher, alle bin-Verzeichnisse hinzuzufügen?

Ich entwickle viele DotNetNuke-Sites und es scheint, dass es in einer Umgebung mit mehreren Entwicklern immer eine große Aufgabe ist, die Umgebung korrekt einzurichten.

Das ultimative Ziel ist (natürlich), dass ein neuer Entwickler den Trunk von SVN auscheckt, die DNN-Datenbank wiederherstellt und alles nur "funktioniert" ...

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Alle Baugruppen, von denen erwartet wird, dass sie sich im GAC befinden, sollten im GAC verbleiben. Dies schließt System.web.dll oder jede andere Drittanbieter-DLL ein, die Sie in der Produktion auf dem GAC bereitstellen. Dies bedeutet, dass ein neuer Entwickler diese Assemblys installieren müsste.

Alle anderen Assemblys von Drittanbietern sollten Referenzen über einen relativen Pfad sein. Meine typische Struktur ist:

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.Web und Project verweisen relativ auf die Assemblys im Ordner root / References. Diese DLLs werden in Subversion eingecheckt.

Abgesehen davon sollte sich * / bin * / bin / * obj in Ihrem globalen Ignorierpfad befinden.

Bei diesem Setup erfolgen alle Verweise auf Baugruppen entweder über das GAC (sollte also auf allen Computern funktionieren) oder relativ zu jedem Projekt in Ihrer Lösung.

Quelle
Translate

Ist das eine .NET-spezifische Frage?

Im Allgemeinen empfiehlt es sich, nichts einzuchecken, was automatisch aus Dateien erstellt wird, die sich bereits in SCM befinden. All dies wird idealerweise als Teil Ihres automatischen Erstellungsprozesses erstellt.

Wenn diebinDas Verzeichnis, auf das Sie sich beziehen, enthält Binärdateien von Drittanbietern und nicht einen Build Ihres Projekts. Ignorieren Sie diesen Rat (stimmen Sie ab?).

Quelle
Translate

Baumchirurgist ein großartiges Tool, das einen leeren .NET-Entwicklungsbaum erstellt. Es wurde über Jahre hinweg optimiert und implementiert viele Best Practices.

Quelle
Translate

Maven hilft ziemlich viel bei diesem Problem, wenn ich Java codiere. Wir übergeben die Datei pom.xml an die scs und das Maven-Repository enthält alle unsere Abhängigkeiten. Für mich scheint das ein guter Weg zu sein.

Quelle
Translate

Wir folgen der Praxis, ein Herstellerverzeichnis zu verwenden, das alle herstellerspezifischen Header und Binärdateien enthält. Das Ziel ist, dass jeder in der Lage sein sollte, das Produkt zu erstellen, indem er es auscheckt und ein Build-Skript der obersten Ebene ausführt.

Quelle