Speicherort der DLLs von Drittanbietern in Version Control für .NET Project

7

Was wäre der ideale Ort (Verzeichnis), um Third-Party-Referenz-DLLs für ein .NET-Projekt in einem Versionskontrollsystem einzusehen? Normalerweise habe ich die meisten Leute gesehen, um sie unter den Mülleimer zu legen, so dass die Laufzeit diese Dateien automatisch abholen kann. Aber ist das der richtige Weg?

Ich wollte ursprünglich ein separates Verzeichnis haben, das parallel zu bin lib heißt, das alle Dlls von Drittanbietern enthält, aber das erfordert Änderungen an der Anwendungskonfigurationsdatei, so dass das lib-Verzeichnis zur Laufzeit aufgerufen wird. Meine Idee hier ist, dass lib DLLs von Drittanbietern enthalten wird, während bin die Projekte Binary enthalten wird (könnte Dll oder Exe sein)

Was ist der bevorzugte Weg? Die Konzentration ist der Ort in der Versionskontrolle und nicht nur das physische Dateisystem.

    
Dinesh Manne 18.04.2009, 11:29
quelle

3 Antworten

12

Wir verwenden die folgende Verzeichnisstruktur (mehr Details zu on) mein Blog ):

%Vor%

Jedes Projekt verweist (über die Registerkarte "Durchsuchen" im Dialogfeld Verweis hinzufügen) auf die Assemblys im Ordner "Bibliotheken". Diese werden zur Kompilierzeit automatisch in den Ordner "bin" jedes Projekts kopiert. (Der Ordner "Libraries" ist natürlich der Versionskontrolle verpflichtet.)

    
Bradley Grainger 18.04.2009, 15:59
quelle
9

Lassen Sie das separate Verzeichnis die Assemblies von Drittanbietern enthalten (dadurch wird die Verwaltung in der Quellcodeverwaltung einfacher), und erstellen Sie anschließend in Ihrem Projekt Verweise auf diese Assemblys. Beim Build werden Ihre Assemblys von Drittanbietern in Ihr \bin kopiert und Sie müssen keine Konfigurationsänderungen vornehmen.

    
Andrew Hare 18.04.2009 11:32
quelle
2

Ich gehe davon aus, dass diese Drittanbieter-DLLs in mehr als einem Projekt von Ihnen verwendet werden. Wenn Sie also die DLL direkt unter die Bin eines jeden Projekts setzen, bedeutet das, dass Sie so viele DLL-Kopien (im VCS) haben, wie es Projekte gibt, was nicht elegant ist. Wie Andrew H. erwähnt, sollten die DLLs, wenn sie wirklich üblich sind, in ein gemeinsames Verzeichnis gestellt werden, auf das sich alle anderen Projekte beziehen, die sie benötigen. Der einzige Haken dabei ist, dass Sie verschiedene Versionen derselben DLL unterscheiden können: Im Laufe der Zeit können Sie etwa Folgendes erhalten:

%Vor%

Der beste Weg, den ich (vorerst) kenne, ist das Umbenennen der 3rd-Party-DLL mit einer expliziten Versionsnummer und Bezug auf diesen neuen Namen in Ihrem Projekt, so dass Ihr Projekt sich immer auf die richtige Version bezieht . Wie:

%Vor%     
SClark 26.06.2009 18:40
quelle

Tags und Links