Ich möchte meine appsettings.json Datei außerhalb des Web-Ordners, so dass ich vermeiden kann, es in der Quellcodeverwaltung zu speichern. Wie kann ich das machen?Kann ich appsettings.json aus dem App-Verzeichnis entfernen?
Antwort
Es scheint relative Pfade nicht zu mögen. Aber das funktioniert ...
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
if (!hostingContext.HostingEnvironment.IsDevelopment())
{
var parentDir = Directory.GetParent(hostingContext.HostingEnvironment.ContentRootPath);
var path = string.Concat(parentDir.FullName, "\\config\\appsettings.json");
config.AddJsonFile(path, optional: false, reloadOnChange: true);
}
})
.UseStartup<Startup>()
.Build();
Also, es ist eine andere Einstellungsdatei auf der standardmäßig hinzugefügt Quellen.
Wenn Sie es wirklich nicht in Ihrer Quellcodeverwaltung möchten, ist es am besten, es dort zu belassen, wo es ist, und es einfach zu den Ignores für Ihre Quellcodeverwaltung hinzuzufügen, also wird es nie festgelegt, wie von @PmanAce vorgeschlagen.
Ich persönlich denke jedoch, Dateien wie appsettings.json
sollten verpflichtet werden. Sie dienen im Wesentlichen dazu, die für die Anwendung notwendige Konfiguration zu dokumentieren. Ohne das als Leitfaden, wie sollte jemand wissen, was in der appsettings.json
gehen soll, die sie erstellen müssen, weil es nicht in den Pull von Ihrer Quellcodeverwaltung enthalten ist?
Das heißt, es gibt das Problem der Speicherung sensibler Daten zum Nachdenken. Es gibt jedoch andere Möglichkeiten. Sie können andere Konfigurationsmethoden wie Umgebungsvariablen und/oder Benutzergeheimnisse verwenden, um alles in appsettings.json
zu überschreiben. Stellen Sie für Dinge wie Verbindungszeichenfolgen einen Platzhalter in Ihrer appsettings.json
bereit, sodass selbst dokumentiert wird, dass ein Wert dafür angegeben werden muss. Verwenden Sie jedoch für Ihre persönliche Verwendung Benutzergeheimnisse und/oder Umgebungsvariablen, um diesen Wert mit etwas zu überschreiben echt. Auf diese Weise können Sie appsettings.json
frei und sicher festschreiben, um zu dokumentieren, welche Einstellungen für Ihre Anwendung erforderlich sind, ohne dass Sie befürchten müssen, dass persönliche oder geheime Informationen enthalten sind.
Ja, ich lasse appsettings.json im Projekt und es wird bereitgestellt - für Dokumentation und nicht-sensible Einstellungen. Und ja, ich könnte vertrauliche Daten in Visual Studio Online verschlüsselt lassen, aber im Moment ist es am einfachsten, eine übergeordnete Version an anderer Stelle im Dateisystem zu verstecken, so wie ich es tue. –
Haben Sie die Konfiguration tatsächlich über Benutzergeheimnisse versucht (was eine lokale Sache ist, die übrigens nicht Teil von VSTS ist)? Es ist super einfach und funktioniert einwandfrei für die Entwicklung. –
Es ist nur für die Entwicklung. Ich finde es ideal, wenn sensible App-Einstellungen bei der Bereitstellung verschlüsselt werden. Herkömmliche web.config ermöglicht dies. Ich bin mir nicht sicher, ob MVC Core es unterstützt. –
- 1. Access appsettings.json Dateieinstellung aus dem Klassenbibliothek Projekt
- 2. Verwendung von ApplicationDbContext mit DI aus appsettings.json
- 3. Clojure: Wie kann ich ein Objekt aus dem Speicher entfernen?
- 4. Wie kann ich falsche Ergebnisse aus dem Speicher entfernen?
- 5. Wie kann ich Wörter aus dem Wörterbuch auf cmusphinx entfernen?
- 6. Wie kann ich Dateien aus dem GitHub-Repository entfernen?
- 7. Wie kann ich leere Objekte aus dem Array entfernen?
- 8. Ich kann die Fehler aus dem jUnit-Test nicht entfernen?
- 9. Kann ich einen Ordner aus dem Schnellstartdialog von VSCode entfernen?
- 10. Kann ich ein Bereitstellungsprofil aus dem Provisioning Portal entfernen?
- 11. Wie kann ich unmodifizierte Binärdateien aus dem Git-Status entfernen?
- 12. Wie kann ich Dateien dauerhaft aus dem Verlauf entfernen (löschen)?
- 13. Kann ich jar aus dem lokalen Repository ohne pom.xml entfernen?
- 14. Wie kann ich Eclipse aus dem MDI-Modus entfernen?
- 15. Wie kann ich einen Drucker aus dem .Net-Druckdialog entfernen?
- 16. Wie kann ich die iPad-Unterstützung aus dem AppStore entfernen?
- 17. aus dem Text entfernen
- 18. Versuch, serilog config aus appsettings.json zu lesen
- 19. Lesen von Daten aus appsettings.json es nicht
- 20. Angular - Wie kann ich aus dem DOM ein Element entfernen, auf dem ich $ compile verwendet habe?
- 21. Links aus dem Text entfernen
- 22. Wochenenden aus dem Datumsbereich entfernen
- 23. Zeitstempelfelder aus dem Schema entfernen
- 24. entfernen CustomTaskPane aus dem Fenster
- 25. Artikel aus dem Warenkorb entfernen
- 26. Entfernen Element aus dem Array
- 27. Wie kann ich ein Sammelelement nach dem Abrufen entfernen (entfernen)?
- 28. Wie kann ich Elemente aus div entfernen?
- 29. Golang: Kann ich Antwortheader aus ReverseProxy entfernen?
- 30. Wie kann ich Text aus XmlNode entfernen?
Behalten Sie es wo es ist und schließen Sie es nicht in die Quellcodeverwaltung ein? – PmanAce
Wo würden Sie dann zur Laufzeit Einstellungen bekommen? –
... Web veröffentlichen leert den Ordner beim Publizieren. –