Frage

Mein Team ist eine neue DotNetNuke Web-Anwendung zu entwickeln und würde gerne wissen, was der Einrichtung mit der Quellcodeverwaltung eine Entwicklungsumgebung empfohlen und automatisierte baut? Wir möchten den DNN-Quellcode getrennt von unserem benutzerdefinierten Modulen und Erweiterungen Quellcode halten.

Das DotNetNuke Zusammengestellt Modul-Vorlage für Visual Studio will, dass uns den Quellcode im DesktopModules Verzeichnis der DNN-Quellcode und Ausgabe an das DNN Quellcode bin-Verzeichnis speichern. Ist dies die empfohlene Struktur? Ich würde halten vielmehr die Dateien an verschiedenen Orten, aber dann wird es schwieriger auszuführen und zu debuggen lokal als wäre es ein für jede Änderung des Moduls installieren muß. Auch, wie sollte ein automatisiertes Build bereitstellen Änderungen?

Wie haben andere dies einzurichten? Gibt es eine empfohlene Best Practice?

War es hilfreich?

Lösung

Wir bleiben normalerweise den Modulcode in einem Ordner unter DesktopModules und Gebäuden auf die Website der bin Verzeichnis zu halten.

In der Quellcodeverwaltung, bilden wir nur die einzelnen Module, und nicht die gesamte Website. Je nachdem, was wir arbeiten, kann ein Modul ein ganzes Projekt in Quellcodeverwaltung, oder wir können mehrere verwandte Module im selben Projekt haben, leben nebeneinander.

Automatische Änderungen der Bereitstellung ist etwas schwierig in DNN. Es wird dringend einen Build-Skript empfohlen zu haben, die das Modul in installierbarer Form verpackt. Sie können dann installierbare Pakete in die Website der Install/Module Ordner kopieren und die URL /Install/Install.aspx?mode=InstallResources erhalten, die alle Pakete in diesem Ordner installiert werden.

Andere Tipps

Für meine Quellcodeverwaltung entwickle ich Module in ihrem eigenen Projekt. Dieses enthält den Modulcode, Testcode, Datenprovider-Code (falls zutreffend) und alles andere. Dies wird in der Quellcodeverwaltung wie jedes anderes Projekt geprüft. Beachten Sie, dass das Modul Projekt keine Links zu einer bestimmten DNN Website enthält, und DNN Referenzen sind in dem Projekt zu einem gemeinsamen Verzeichnis „ist“ gemacht, die Ihr Ziel Build verweisen. Zum Beispiel in meinem Projektordner, habe ich \ bin460, \ bin480, \ bin510, \ bin520 usw. Jeder dieser Ordner eine Reihe von Binärdateien für eine bestimmte DNN Version hält. So können Sie gegen eine bestimmte Version bauen, aber Test gegen jede Version, die Sie mögen.

Das Problem mit einem Modul an Ort und Stelle in einer dnn installiert Quelle-Steuerung ist - manchmal nicht alle Modulcode wird einfach unter einem übergeordneten Verzeichnis isoliert - leihen nicht gut an einem PA-Modul-Ansatz - nicht einfach, das Projekt zu einer anderen DNN Version für die Entwicklung oder Prüfung zu verschieben -. Einfache Steuerung Teile der DNN-Lösungsquelle versehentlich, insbesondere mit integrierten VS-Source-Control-Lösungen

Dieser Ansatz stellt schnell, weil Sie nicht das gesamte Projekt zu kompilieren versuchen. Für Testbereitstellung habe ich einen Build-Skript, die Kopien, die verschiedenen Teile des Moduls in eine Ziel-Website. Dies kann über die Kompilierung (verknüpfen Sie die Build-Skript) oder einfach nur laufen getan werden, nachdem Sie eine erfolgreiche Kompilierung in einem cmd Fenster hatte. Mein Build-Skript hat einen ‚Ziel‘ Umwelt-Schalter, so dass ich sagen kann, ‚dnn520‘ den Build zu meinem Test zu implementieren dnn520 zu installieren. Beachten Sie, dass Sie benötigen, um manuell die Modulkonfiguration zu erstellen, bevor dies funktionieren wird, aber dies ist ein einmaliger Aufwand, und Sie können die Export-Funktion verwenden, um Ihr .dnn Modulmanifest zu erstellen.

Um das Modulpaket, investiert die Zeit in einem umfassenden Skript zu bauen, die die verschiedenen Teile aus dem Quellverzeichnis nehmen, und zip sie in ein Paket installieren. Halten Sie alle Teile in Ihrem Source-Control-Ordner und kopieren Sie sie in ein temporäres Verzeichnis, führen Sie dann eine Befehlszeilen Zip-Programm (ich benutze eine alte Version von pkzip) sie in eine installierbare Datei zu packen.

Die Vorteile dieses Ansatzes sind: - Trennung von Modul-Code aus Code installieren - einfache Möglichkeit, nur die Modulcode in der Quellcodeverwaltung zu halten (müssen nicht alle Website-Code ausschließen) - die Fähigkeit, schnell zu testen, um Module in verschiedenen Versionen dnn - Verpackung Skript ermöglicht es Ihnen, schnell und einfach eine neue Version eines Moduls bauen zum Testen installieren / deployment

Die Nachteile sind, - kann nicht den Zauber grün verwenden ‚go‘ Taste in VS (manuell Debugger anhängen) - mehr Rüstzeit als die Entwicklung in-place

Als Reaktion auf bduke Antwort. Sie sollen, und nicht wollen, Projekte im DesktopModules Ordner bauen.

  1. Das ist, wo alle der Quellcode für den Standort aus der Box geht.
  2. Das ist, wo Sie Module „installiert“ werden und damit, wenn jemand „Updates“ oder ein Wieder installiert, dann wird sie überschrieben
  3. Sie können Ihre Anwendung weit schwieriger machen zu aktualisieren. Viele Entwickler nicht verstehen, dass die Idee von nicht berühren die ursprünglichen Quellcode-Dateien, ihr Verhalten zu ändern. Denn es wird nur überschrieben werden, wenn Sie ein Upgrade durchführen.

Wenn Sie Module aufbauen wollen, erstellen Sie eine Lösung Ordner namens Module und platzieren Sie Ihre separate Projektmodule gibt.

  1. Wenn Sie sie debuggen wollen, das Ziel Debug-Ausgabepunkt an den Web-Ordner \ bin machen.
  2. Wenn Sie installieren möchten / deploy sie. Baut sie im Release-Modus und installieren Sie sie durch das Modul / Erweiterung Filter.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top