Einzelne assembly aus mehreren Projekten
In einem .net-Anwendung, die mehrere Projekte in einer Lösung, habe ich ein Projekt mit dem namespace-set zu Unternehmen.Produkt.UI und eine andere mit der Gesellschaft.Produkt.UI.Webseiten. Mein problem ist, dass zwei dlls Ergebnis aus dem Bau der beiden Projekte. Wie kann ich eine einzelne dll und bewahren noch die aktuelle Lösung-Struktur. Ich verwende Visual Studio 2008 und C#.
- Siehe auch stackoverflow.com/questions/1878807/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie entweder die Zusammenführung der beiden Projekte in ein Projekt oder ein tool verwenden, wie ILMerge zu verschmelzen das daraus resultierende Baugruppen in eine einzige assembly.
Wenn Sie automatisieren möchten ILMerge als ein MSBuild-task, dann würde ich vorschlagen, Sie nehmen einen Blick auf ilmerge-Aufgaben:
Ich denke, dass Sie eine neue Projekt-Datei enthält alle Dateien aus den beiden Projekten. Diese Weise können Sie halten die derzeitige Struktur für die Entwicklung und Nutzung der zusammengeführten Projekt-Datei erstellen, die Ausgabe, die Entlassung aus dem Projekt. Die Projekt-Dateien sind relativ einfach xml-Dateien, so dass, wenn Sie öffnen Sie dann in einem text-editor, werden Sie wahrscheinlich herausfinden, wie Sie funktionieren ziemlich schnell.
Der offensichtliche Nachteil dieser Vorgehensweise ist natürlich, dass Sie verwalten müssen, wird das Dritte Projekt-Datei, wenn Dateien Hinzugefügt oder entfernt wird in einem der Projekte, aber wenn, dass ist etwas, was nicht sehr oft geschieht, könnte es ganz gut funktioniert, denke ich.
Es gibt einen einfachen Weg, dies zu tun, aber es ist vielleicht nicht der beste Weg. Erstellen Sie eine neue Lösung mit dem Namen der dll, die Sie wollen. Erstellen Sie die Ordnerstruktur in diesem Projekt ist die gleiche wie die Namen der beiden Projekte. Dann auf den gewünschten Ordner, machen einen 'vorhandenes Element Hinzufügen'. Fügen Sie die cs-Dateien in den Projekt-Namen. Wenn Sie sind das hinzufügen der Dateien, wählen Sie "Add as Link" auf die Taste "Hinzufügen" (ist ein Dropdown, wo Sie können wählen Sie neben der Schaltfläche hinzufügen). Machen weiter und bauen. Haben Sie die dll.
zB. Wenn Sie ein Projekt namens a-und Ein B genannt und Sie Zusammenführen möchten, müssen Sie Sie in ein eine dll namens C. Erstellen Sie ein neues Projekt namens C. Fügen Sie einen Ordner in dieses Projekt genannt und in einem Ordner mit der Bezeichnung B. Jetzt sagen, dass Projekt hat eine cs Datei X. cs und B hat einen namens Y. cs. Auf die Ordner namens A, rechts klicken Sie auf und machen vorhandenes Element Hinzufügen. Gehen Sie auf Projekt und wählen Sie X. cs. Neben der Schaltfläche Hinzufügen, sehen Sie einen Pfeil nach unten. Klicken Sie auf, und wählen Sie Add as link. Machen Sie dasselbe für B. Erstellen Sie dieses Projekt und Sie erhalten Sie dll in den bin-Ordner.