1

Ich habe eine ziemlich einfache Frage.Appsettings.Production.json Datei nach Veröffentlichung in ASP.NET Core 1.0 ändern?

In meiner Datei project.json habe ich "appsettings.Production.json" nach "appsettings.json" im Abschnitt "Veröffentlichen" eingefügt. Das funktioniert super, die Produktion überschreibt die ursprünglichen Werte wie vorgesehen.

Allerdings ist meine Frage: bin ich in der Lage, die Produktion JSON-Datei nach das Projekt wurde mit einem Texteditor veröffentlicht? Ich habe es offensichtlich versucht und es hat nicht funktioniert, also gibt es vielleicht etwas, was mir fehlt? Oder muss ich das gesamte Projekt erneut veröffentlichen, wenn ich Änderungen an den JSON-Dateien vornehmen möchte?

Antwort

4

Als @rook schrieb, ist der erste Schritt reloadOnChange aktivieren:

Documentation: Wenn Dateien als Konfigurationsquellen angeben, können Sie optional angeben, ob Änderungen an der Datei in die Einstellungen führen sollte sein neu geladen. Dies wird konfiguriert, indem beim Aufruf von AddJsonFile oder ähnlichen dateibasierten Erweiterungsmethoden ein wahrer Wert für den reloadOnChange-Parameter übergeben wird.

Aber in zusätzlichen, müssen Sie auch den Code ändern, IOptionsMonitor<> Schnittstelle statt IOptions<> an Orten zu verwenden, in denen Optionen injiziert werden (siehe Options Pattern), sonst werden Sie feststellen, dass neue Wert nicht angewendet wurde. Lesen Sie mehr in diesem post.

+0

Ja, das war es für mich! Ich habe getan, was @rook gesagt hat und dachte, es würde funktionieren und ich fragte mich, warum es nicht so war. Wusste nicht, dass es diesen zusätzlichen Schritt geben würde. Vielen Dank! – Daath

3

Es gibt einen reloadOnChange Parameter, der den Trick tun sollte.

var builder = new ConfigurationBuilder() 
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", 
optional: false, 
reloadOnChange: true 
); 
+0

Ich habe das gleiche versucht. Es funktioniert nicht. –

+0

Siehe die Antwort oben. Es gibt noch mehr zu tun. – rook

Verwandte Themen