
Ποιες είναι οι βέλτιστες πρακτικές για τον έλεγχο σε BIN καταλόγους σε ένα περιβάλλον συνεργατικής ανάπτυξης, χρησιμοποιώντας SVN; Σε περίπτωση που προβάλλουν οι αναφορές επίπεδο να εξαιρεθούν από checkin; Είναι πιο εύκολο να προσθέσετε απλά όλους τους καταλόγους κάδο;


Έχω αναπτύξει πολλά sites DotNetNuke και φαίνεται ότι σε ένα περιβάλλον πολλαπλών έργου, είναι πάντα ένα τεράστιο έργο για να πάρει τη ρύθμιση περιβάλλοντος σωστά.


Ο απώτερος στόχος (φυσικά) είναι να έχουμε μια νέα ανάπτυξη ταμείο τον κορμό από το SVN, επαναφέρετε τη βάση δεδομένων DNN και έχουν όλα μόνο «δουλειά» ...

 
Βέλτιστη Πρακτική: συνεργατικό περιβάλλον, Bin Directory, SVN
=============================================================



Κάθε συγκροτήματα που αναμένεται να είναι στην GAC θα πρέπει να παραμείνουν στο GAC. Αυτό περιλαμβάνει System.Web.dll ή οποιοδήποτε άλλο dll 3rd party που θα αναπτυχθεί στο Συμβούλιο Γενικών Υποθέσεων της παραγωγής. Αυτό σημαίνει ότι μια νέα προγραμματιστής θα πρέπει να εγκαταστήσετε αυτές τις συνελεύσεις.


Όλα τα άλλα συγκροτήματα 3ο μέρος θα πρέπει να είναι αναφορές μέσα από μια σχετική διαδρομή. τυπικό μου δομή είναι:



```
-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 και Έργων αναφορά των συγκροτημάτων στη ρίζα / Αναφορές φάκελο σχετικά. Αυτά τα .dlls ελέγχονται σε ανατροπή.


Εκτός από αυτό, * / bin * / bin / * obj θα πρέπει να είναι σε παγκόσμια πορεία αγνοούν σας.


Με αυτή τη ρύθμιση, όλες οι αναφορές σε συγκροτήματα είτε μέσα από το GAC (έτσι πρέπει να λειτουργεί σε όλους τους υπολογιστές), ή σε σχέση με το έργο εντός λύση σας.

 

Είναι αυτό μια συγκεκριμένη ερώτηση Καθαρά;


Γενικά, η καλύτερη πρακτική είναι να μην κάνουν check-in κάτι το οποίο είναι χτισμένο αυτόματα από τα αρχεία που βρίσκονται ήδη στο ΕΑΜ. Όλα αυτά είναι ιδανικά δημιουργήθηκε ως μέρος της αυτόματης διαδικασίας κατασκευής σας.


Αν ο `bin`κατάλογος είστε αναφέρεται στην περιέχει εκτελέσιμα από τρίτους, παρά την κατασκευή του έργου σας, αγνοήστε (downvote;) αυτή τη συμβουλή.

 

Maven βοηθάει πάρα πολύ με αυτό το πρόβλημα όταν είμαι κωδικοποίησης java. Δεσμευόμαστε την pom.xml να του SCS και η maven αποθετήριο περιέχει όλες τις εξαρτήσεις μας. Για μένα αυτό φαίνεται σαν ένα ωραίο τρόπο να το κάνει.

 

Ακολουθούμε την πρακτική της χρησιμοποιώντας έναν κατάλογο προμηθευτών που περιέχει όλες τις ειδικές κεφαλίδες πωλητή και εκτελέσιμα. Ο στόχος είναι ότι ο καθένας θα πρέπει να είναι σε θέση να κατασκευάσει το προϊόν μόνο με τον έλεγχο αυτό έξω και να τρέχει κάποια κορυφαία σενάριο επίπεδο κατασκευής. 

 

[Δέντρο Χειρουργός](http://www.codeplex.com/treesurgeon) είναι ένα μεγάλο εργαλείο που δημιουργεί ένα κενό δέντρο NET ανάπτυξη. Έχει πειραγμένο πάνω από χρόνια χρήσης και υλοποιεί πολλά βέλτιστων πρακτικών.

 