wake-up-neo.net

Geben Sie den Quellcode der Klasse C # für mehrere Projekte frei

Ich habe eine Klasse geschrieben, die die interne Protokollierung in meiner Anwendung behandelt. Nun möchte ich diese Klasse in einem anderen neuen und völlig separaten Projekt verwenden.

Ich könnte die Datei einfach in den neuen Projektordner kopieren, aber ich möchte nur eine Kopie davon behalten, damit alle Änderungen im Laufe der Zeit für beide Projekte gelten.

Ich kann die "vorhandene Datei hinzufügen" verwenden, aber wo muss ich die Datei ablegen, damit der nächste Entwickler weiß, dass sie erforderlich ist. Ich hatte einmal einen "freigegebenen" Ordner dafür, aber einmal wurde dieser Ordner nicht in den nächsten Entwicklungscomputer gebracht.

Was ist der beste Weg, um dies so zu organisieren, dass es für neue Betreuer am sinnvollsten ist und das Risiko für unterbrochene Links in Projekten minimiert.

31
hultqvist

Sie können ein Bibliotheksprojekt erstellen, das diese Klasse auf diese Weise enthält. Sie müssen lediglich einen Verweis auf dieses Projekt hinzufügen.

Wenn dies keine Option ist, können Sie "Rechtsklick -> Vorhandenes Element hinzufügen -> Als Link hinzufügen" verwenden. Auf diese Weise haben Sie nur eine Kopie des Codes, die jedoch in mehreren Projekten vorhanden sein kann.

31
Peter

Eine Klassenbibliothek zum Teilen ist die beste Lösung.

Sie können einem VS-Projekt jedoch eine Datei als Link hinzufügen, anstatt sie zu kopieren. Verwenden Sie dazu die Dropdown-Schaltfläche Hinzufügen im Dialogfeld "Vorhandenen Artikel hinzufügen".

11
Richard

Wenn Sie tatsächlich den Quellcode freigeben müssen, z. B. wenn Sie gleichzeitig 32-Bit- und 64-Bit-Build derselben Assembly erstellen (was einige Male erforderlich ist, wenn Sie auf nativen Code angewiesen sind), können Sie die gegebene Antwort verwenden In diesem Thread: Wie geben Sie Code zwischen Projekten/Lösungen in Visual Studio frei?

(Suchen Sie nach '"verknüpfen" Sie eine Codedatei zwischen zwei Projekten.)

6
jorgen

Brechen Sie Ihren Protokollierungscode in eine separate Assembly.

Sie können diese Assembly dann in die Projekte aufnehmen, die diesen Logger verwenden sollen.

So bleibt alles schön und sauber und Sie müssen nur einen Satz Code verwalten, anstatt sich um jede Kopie kümmern zu müssen.

5
Justin Niessner

Platzieren Sie die Klasse in einem eindeutigen Namespace, und fügen Sie die Datei als Link zu allen Projekten hinzu, die Sie zur Verwendung benötigen. Stellen Sie sicher, dass Sie eine using-Anweisung für den eindeutigen Namespace platzieren, in der Sie die Klasse verwenden, oder Sie müssen jede Verwendung der Klasse vollständig qualifizieren , da es keine unnötigen Querverbindungen generiert, für etwas, das Teil Ihres eigenen Codes ist, den Sie einfach zwischen Ihren Projekten teilen möchten.

1
ThunderGr

Erstellen Sie eine neue Assembly, die diese Klasse enthält.

Dann können sich alle Ihre anderen Projekte auf diese Assembly beziehen und die Klasse innerhalb verwenden.

1
Mongus Pong

Sie können dazu auch Ihr Versionierungssystem verwenden.

In der Regel erstellen wir Directory mit Solution und Main Project und übergeben dieses Verzeichnis dann an SVN. Dann werden alle gemeinsam genutzten Bibliotheken mithilfe von svn: external verknüpft, sodass alle Projekte in demselben Lösungsverzeichnis vorhanden sind.

Nach dem Festschreiben kann jeder eine funktionierende Lösung mit allen externen Abhängigkeiten überprüfen.

0
kwesolowski