diff --git a/Images/PrepDev/contextPublish.png b/Images/PrepDev/contextPublish.png new file mode 100644 index 0000000..ef94d95 Binary files /dev/null and b/Images/PrepDev/contextPublish.png differ diff --git a/Images/PrepDev/databaseProps.png b/Images/PrepDev/databaseProps.png new file mode 100644 index 0000000..1e493da Binary files /dev/null and b/Images/PrepDev/databaseProps.png differ diff --git a/Images/PrepDev/manageUserSecrets.png b/Images/PrepDev/manageUserSecrets.png new file mode 100644 index 0000000..9791171 Binary files /dev/null and b/Images/PrepDev/manageUserSecrets.png differ diff --git a/Images/PrepDev/openSqlSoe.png b/Images/PrepDev/openSqlSoe.png new file mode 100644 index 0000000..d97682d Binary files /dev/null and b/Images/PrepDev/openSqlSoe.png differ diff --git a/Images/PrepDev/props.png b/Images/PrepDev/props.png new file mode 100644 index 0000000..5f80524 Binary files /dev/null and b/Images/PrepDev/props.png differ diff --git a/Images/PrepDev/publishDialog.png b/Images/PrepDev/publishDialog.png new file mode 100644 index 0000000..231cf40 Binary files /dev/null and b/Images/PrepDev/publishDialog.png differ diff --git a/Images/PrepDev/publish_EditDialog.png b/Images/PrepDev/publish_EditDialog.png new file mode 100644 index 0000000..bf59042 Binary files /dev/null and b/Images/PrepDev/publish_EditDialog.png differ diff --git a/PrepareDevelopment.md b/PrepareDevelopment.md new file mode 100644 index 0000000..70e2450 --- /dev/null +++ b/PrepareDevelopment.md @@ -0,0 +1,65 @@ +Im Folgenden wird erklärt, wie die Entwicklungsbereitschaft auf einem beliebigen (Windows)-System hergestellt werden kann. + +# Voraussetzungen +* Visual Studio 2022 mit den Workloads "ASP.NET und Webentwicklung" + +# Entwicklungsdatenbank vorbereiten: + +Im Grunde ist es völlig egal wie und wo du die Entwicklungsdatenbank hostest, hier wird aber der wohl einfachste Weg erklärt. + +## 1. Datenbank lokal veröffentlichen + +* Rechtsklick auf das Projekt `GottfriedsNackenDB` und `Publish...` auswählen. +![](./Images/PrepDev/contextPublish.png) + + Es öffnet sich ein Dialogfenster: +![](./Images/PrepDev/publishDialog.png) + +* Klicke auf `Edit...` + Es öffnet sich ein weiteres Dialogfenster: +![](./Images/PrepDev/publish_EditDialog.png) +* Gehe auf den Reiter `Browse` +* Öffne die Gruppe `Local` +* Wähle `MSSQLLocalDB` aus +* Klicke `OK` + +Wieder im vorherigen Dialogfenster angelangt gebe nun im Feld `Database name:` einen beliebigen namen für die Datenbank ein (z.B. `GottfriedsNackenDB`). + +* Da die Datenbank jedes mal wenn eine Tabelle oder Stored Procedure geändert wird neu veröffentlicht werden muss empfielt es sich mit einem Klick auf `Save Profile As...` die Konfiguration zu speichern. Es kann der Standardspeicherort verwendet werden. Die Datei sollte standardmäßig nicht in der Versionsverwaltung landen. (An dieser Stelle sei gewarnt, dass jeder der es wagt die Datei in Repository zu pushen exmatrikuliert wird) +* Klicke auf `Publish` um die Datenbank zu veröffentlichen (sie wird erstellt und die Deployment-Scripts werden ausgefürt) + +## 2. Anwendung konfigurieren + +Um der Anwendung zu vermitteln mit welcher Datenbank sie sich in der Entwicklungsumgebung verbinden soll müssen wir den connection string in die lokale `secrets.json`-Datei eintragen: + +* Als erstes müssen wir den Connection string ermitteln. + * Öffne das `SQL Server Object Explorer`-Panel (`View`->`SQL Server Object Explorer`) + + ![](./Images/PrepDev/openSqlSoe.png) + + * Öffne die Eigenschaften der oben erstellten Datenbank (Gehe im Server Explorer auf `SQL Server` -> `(localdb)\MSSQLLocalDB`, rechtsklick auf `GottfriedsNackenDB` (oder wie auch immer du sie genannt hast) und klicke auf `Properties`) + + ![](./Images/PrepDev/databaseProps.png) + + * Suche im Eigenschaften-Panel nach `Connection string` und kopiere den Wert der Eigenschaft + + ![](./Images/PrepDev/props.png) + +* Nun + +* Recktsklick auf das Projekt `GottfriedsNackenWebseite` +* Wähle `Manage User secrets` + + ![](./Images/PrepDev/manageUserSecrets.png) + +* Es öffnet sich die `secrets.json`-Datei +* Füge einen Eintrag "ConnectionStrings" mit dem Unterschlüssel "Default" hinzu dessen Wert der eben kopierte Connection string ist. Die secrets.json sieht dann in etwa so aus: +```json +{ + "ConnectionStrings": { + "Default": "{Hier deinen connection string eintragen}" + } +} +``` + +* Jetzt bist du fertig und kannst zum testen die Webseite starten. \ No newline at end of file