Wie kann ich sicherstellen, dass appsettings.dev.json ist, kopiert wird, um die Ausgabe-Ordner?
Habe ich drei Dateien, eine für jede Umgebung:
- appsettings.json -> Produktion
- appsettings.dev.json -> Entwicklung
- appsettings.stg.json -> Inszenierung
Wenn ich ASPNETCORE_ENVIRONMENT zu dev, bekomme ich eine exception zur Laufzeit, beschweren sich über nicht in der Lage zu finden, appsettings.dev.json. Ich habe versucht, das hinzufügen
"copyToOutput": [
"appsettings.dev.json"
]
den buildOptions
Abschnitt im Projekt.json-aber es scheint nicht zu haben keine Wirkung.
Gibt es einen anderen Weg kann ich Kraft appsettings.dev.json kopiert werden, um die Ausgabe-Verzeichnis?
- Du hast eine Antwort von Ivan. Vielleicht ist es eine gute Idee, um anzugeben, ob das funktioniert für Sie?
- Ich konnte Sie nicht finden, eine Lösung zum bereitstellen einer bestimmten Datei pro Umwelt. Sie können zum bereitstellen aller am Projekt*.json-Dateien -stackoverflow.com/questions/37858312/..., Aber das ist keine gute option, das perfekte Szenario ist die 1-zu-1-Datei-pro-Umgebung (configuration name) - die bounty ist offen 🙂
- Siehe die Antwort für eine mögliche Lösung der Umwelt spezifische appsettings.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meinem Fall appsettings.json nicht kopiert werden für unit-tests.
Wenn du mit rechts auf die Datei und wählen Sie " Eigenschaften, diesen dialog kommen wird. Ändern Build Action zu Eingebettete Ressource und die Datei kopiert, in den Ordner bin für den unit-test zu Holen.
Haben Sie den Basis-Pfad, in dem appsettings.dev.json ist platziert?
.dev.json
Datei kopiert wird.Einschließlich dieser in " - Projekt.json" funktioniert für mich:
In Projektmappen-explorer mit der der rechten Maustaste auf Ihre Datei möchte, kopiert die Ausgabe (in deinem Fall
appsettings.dev.json
) und Treffer Eigenschaften, Im Eigenschaften-Fenster eingestellt Copy To Output Directory option Immer Kopieren. Indem Sie dies tun, jedes mal, wenn Sie bauen Ihr Projekt, wird Ihre Datei kopiert werden in die Ausgabe-Verzeichnis (Projekt bin oder release Verzeichnis je nach Ihren build profile)Davon ausgegangen, dass Sie Visual Studio:
In der Regel für Dienstleistungen, die in der Vergangenheit habe ich hatte andere devs set-up "Build Events", die dafür sorgen, dass bestimmte Dinge im Projekt gebaut werden. Normalerweise wäre es in ASP.NET Projekteigenschaften für Visual Studio 2015 als Beispiel: > "Build Events" (Links)>Klicken Sie auf 'Edit Post-build'. Schreiben Sie in die Befehlszeile-Anweisungen, wie Sie das Projekt aufbauen sollte, bis hin zur Ausgabe. EG:
erstellen Sie ein Verzeichnis unter bin namens 'Setup'
Löscht alle vorhandenen Elemente in die neu erstellte bin
Kopien dll ' s aus dem build-Verzeichnis in das neue setup-Speicherort
Nun, wenn Sie tun, einen build-Prozess, wo Ihr 'Configuration Manager' macht einen anderen Ausgang für jede Umgebung und Sie wollen einfach nur, jeden von Ihnen zu allen Zeiten, die Sie würde wahrscheinlich Durchlaufen Ebene finden diese Behälter durch Ihre Namen 'dev' oder 'stg' und dann kopieren Sie Sie zurück. Sie können in der Lage sein zu erstellen oder eine Liste einer Variablen, die VS weiß, für die Umwelt, die Streichhölzer, um Ihre JSON-Daten als auch.