Settings.settings
erzeugt Settings.Designer.cs
, die vermutlich app.config
erzeugt, die dann in das Ausgabeverzeichnis als Foo.exe.config
kopiert wird. Wenn ich die Anwendung ohne die Konfigurationsdatei verteile, scheint nichts Schlimmes zu passieren. Also, wozu dient diese Datei?Was ist app.config für?
Antwort
Wenn Sie nicht über die Config-Datei haben, verwendet es die Standardwerte aus dem Designer. Die Konfigurationsdatei ermöglicht es Benutzern/Administratoren jedoch, Einstellungen einfach zu ändern - z. B. den Server, mit dem Sie sprechen, Themen usw. Wenn Sie die Datei nicht haben, wo würden Sie diese Einstellungen speichern?
Sie können benutzerspezifische Einstellungen sowie anwendungsspezifische Einstellungen vornehmen, die an verschiedenen Speicherorten gespeichert sind.
Anwendungskonfigurationsdateien enthalten Einstellungen, die für eine Anwendung spezifisch sind. Diese Datei enthält Konfigurationseinstellungen, die von der Common Language Runtime gelesen werden (z. B. Baugruppenbindungsrichtlinien, Remoting-Objekte usw.) und Einstellungen, die von der Anwendung gelesen werden können.
Ja, ich habe das Handbuch gelesen, aber wofür ist diese Datei * wirklich *? – CannibalSmith
@CannibalSmith: Genau das - Konfigurationseinstellungen. Ich verstehe nicht, warum du verwirrt bist. –
Wenn ich es lösche, gehen Konfigurationseinstellungen nicht verloren. Konfigurationseinstellungen sind irgendwo in Benutzer/Foo/AppData/BlahBlah gespeichert. – CannibalSmith
Sie können Ihre Konfiguration in dieser Datei speichern.
Das .Net-Framework lädt automatisch eine Konfigurationsdatei mit der exe-name.config.
Wenn Sie Konfigurationen in Ihrer Anwendung nicht verwenden, dann nichts Schlimmes passieren wird ...
Die Konfigurationsdatei ist optional, wenn sie nicht existiert, werden Umgebungen wie ASP.NET auf die in den .NET-Systemverzeichnissen gespeicherte Datei machine.config zurückgreifen, um maschinenweite Standardwerte zu erhalten.
Wenn Sie Ihrer App tatsächlich Code hinzufügen, um Einstellungen aus der Konfigurationsdatei abzurufen (z. B. mit der Klasse ConfigurationManager) und diese nicht existiert, erhalten Sie Nullwerte.
Aus diesem Grund ist es wichtig, nach dieser Situation zu suchen und Ihre Anwendung selbst entscheiden zu lassen, wie/ob sie fortfahren soll.
- 1. Was ist falsch an meiner app.config-Datei?
- 2. App.config für dll
- 3. App.config für Xunit
- 4. Was ist <client> Element von app.config?
- 5. Gemeinsame app.config für mehrere Anwendungen
- 6. Ist web.config oder app.config im Arbeitsspeicher zwischengespeichert
- 7. Frage zu App.Config für Klassenbibliothek und Protokollierung
- 8. App.Config für Excel Automatisierungs-Add-in
- 9. Customizing app.config
- 10. Was ist für Python was "explodieren" ist für PHP?
- 11. app.config globalisation
- 12. Was ist Automapper für?
- 13. Was ist stripslashes für?
- 14. Für was ist __gxx_personality_v0?
- 15. Was ist NuGetPackageImportStamp für?
- 16. Was ist ApplicationDomain.domainMemory für?
- 17. Was ist .pydistutils.cfg für?
- 18. Was ist xcLanguageSpecificationIdentifier für?
- 19. Möglich, in app.config für Konsolenanwendung zu imitieren?
- 20. ändern Wurzelelement App.config für .net-Anwendung
- 21. App.config Transformation für appharbor Hintergrund Arbeiter
- 22. Erstellen Sie eine app.config für eine Assembly
- 23. app.config Verschlüsselung
- 24. App.config Problem
- 25. app.config Verrücktheit
- 26. PowerShell App.Config
- 27. App.Config gibt null zurück
- 28. Verschachtelte app.config (web.config) -Dateien
- 29. log4net ohne app.config
- 30. App.config relativen Pfad
Oh, also ist die Konfigurationsdatei für Anwendungen, die keine Schnittstelle haben, um ihre eigenen Einstellungen zu konfigurieren? – CannibalSmith
Wo beabsichtigen Sie, diese Einstellungen dann in der db zu speichern? –
@CannibalSmith: Wenn Sie Ihr eigenes vollständiges Konfigurations-System erstellen möchten, einschließlich Speicher usw., können Sie app.config ignorieren. Warum das Rad neu erfinden? Beachten Sie, dass das Konfigurations-System in .NET * erweiterbar ist (so dass Sie die Einstellungen theoretisch in der Registry, einer Datenbank usw. speichern können), aber es ist in dieser Hinsicht etwas verwirrend und schlecht dokumentiert. –