Laden...

Projektabhängigkeiten Strukturieren

Erstellt von userid11997 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.487 Views
Thema geschlossen
u
userid11997 Themenstarter:in
400 Beiträge seit 2008
vor 12 Jahren
Projektabhängigkeiten Strukturieren

Moin,

wenn ich ein Projekt habe, dass mit verschieden gekapselten Komponenten arbeitet, gibt es da eine Möglichkeit mehrfach verwendete Funktionen so auszulagern, dass ich diese nicht explizit in jede Komponente einbauen muss, aber dennoch jede Komponente sozusagen "stand alone" verwenden kann?

771 Beiträge seit 2009
vor 12 Jahren

Hi Pria,

entweder du 'share'st die Code-Datei (mit deinen Funktionen) oder aber du erstellst dir dafür eine eigene Assembly und referenzierst diese dann in den benötigten Projekten.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo Cat,

wobei nur die erste von beiden Möglichkeiten dazu führt, dass die erzeugten Komponenten nachher standalone sind. Und man muss darauf achten, bei Änderungen an der gemeinsamen Code-Datei alle Komponenten neu zu übersetzen, damit die Änderungen überall wirksam werden. Auch muss man darauf achten, dass man die Code-Datei nicht in alle Projekte kopiert (bei Änderungen wäre es sonst ein Horror, alle Kopien Konsistenz zu halten), sondern aus den verschieden Projekten referenziert.

Die zweite deiner Möglichkeiten ist die üblichere, aber sie schafft eben auch eine Abhängigkeit zwischen den Komponenten und der referenzierten Assembly. Ohne die referenzierte Assembly funktionieren die Komponenten dann gerade nicht.

Hallo Pria,

kurz gesagt, gibt es die Möglichkeit eine eine gemeinsame Code-Datei oder eine gemeinsame Assembly zu referenzieren. Mit den oben genannten Auswirkungen, also insbesondere, dass nur bei ersterem die Komponenten standalone sind. Eine gemeinsame Code-Datei in alle Projekte zu kopieren verbietet sich wegen der Wartbarkeit. Code-Dateien kann man in Visual Studio über das Kontextmenü des Projekt, dann "Add", dann "Existing Item..." und dann beim Add-Button aus dem DropDown "Add As Link" als Referenz hinzufügen.

Es gibt natürlich noch die Möglichkeit, die gemeinsame Assembly per ILMERGE nachträglich direkt in die Komponenten einzufügen.

Das fällt allerdings alles unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore

Thema geschlossen