Konfigurationsdateien

Konfigurationsdateien sind XML-Dateien, die je nach Bedarf verändert werden können. Entwickler können Konfigurationsdateien einsetzen, um Einstellungen zu verändern, ohne Anwendungen neu kompilieren zu müssen. Administratoren können mithilfe von Konfigurationsdateien Richtlinien für die Ausführung von Anwendungen auf ihrem Computer festlegen.

HinweisHinweis

Verwalteter Code kann mithilfe der Klassen im System.Configuration-Namespace Einstellungen aus den Konfigurationsdateien lesen, jedoch keine Einstellungen in diese Dateien schreiben.

Dieses Thema beschreibt die Syntax von Konfigurationsdateien und enthält Informationen zu den drei Arten von Konfigurationsdateien: Computer, Anwendung und Sicherheit.

Format von Konfigurationsdateien

Konfigurationsdateien enthalten Elemente, so genannte logische Datenstrukturen zur Einstellung von Konfigurationsinformationen. Innerhalb der Konfigurationsdatei können Sie Anfang und Ende eines Elements durch Tags markieren. Das <runtime>-Element besteht z. B. aus untergeordnetem <runtime> Elementen</runtime>. Ein leeres Element hat zwar ein Anfangs-, aber kein Endtag.

Sie können Konfigurationseinstellungen mithilfe von vordefinierten Attributen vornehmen. Diese Attribute sind Name/Wert-Paare innerhalb des Anfangstags eines Elements. Durch den folgenden Beispielcode werden zwei Attribute (version und href) für das <codeBase>-Element angegeben, das den Ort bezeichnet, an dem die Common Language Runtime eine Assembly auffinden kann (weitere Informationen hierzu finden Sie unter Festlegen des Speicherortes einer Assembly).

<codeBase version="2.0.0.0"
          href="http://www.litwareinc.com/myAssembly.dll"/>
Wichtiger HinweisWichtig

Wie bei allen XML-Dateien wird bei der Syntax von Konfigurationsdateien die Groß-/Kleinschreibung berücksichtigt.

Computerkonfigurationsdateien

Die Computerkonfigurationsdatei Machine.config enthält Einstellungen, die für den gesamten Computer gelten. Diese Datei befindet sich im Verzeichnis %Installationspfad der Common Language Runtime%\Config. Machine.config enthält Konfigurationseinstellungen für die computerweite Assemblybindung, für integrierte Remotingkanäle und für ASP.NET.

Das Konfigurationssystem durchsucht zuerst die Computerkonfigurationsdatei nach dem appSettings-Element und anderen Konfigurationsabschnitten, die von einem Entwickler möglicherweise definiert wurden. Anschließend wird die Anwendungskonfigurationsdatei durchsucht. Aus Gründen der Übersichtlichkeit der Computerkonfigurationsdatei empfiehlt es sich, diese Einstellungen in der Anwendungskonfigurationsdatei zu speichern. Wenn sich diese Einstellungen in der Computerkonfigurationsdatei befinden, ist das System jedoch u. U. einfacher zu warten. Wird z. B. die Komponente eines Drittanbieters sowohl von der Client- als auch von der Serveranwendung verwendet, ist es einfacher, die Einstellungen für diese Komponente in der gleichen Datei zu speichern. In diesem Fall ist die Computerkonfigurationsdatei dafür am besten geeignet, und Sie vermeiden redundante Informationen in zwei verschiedenen Dateien.

HinweisHinweis

Wenn Sie eine Anwendung mithilfe von XCOPY bereitstellen, werden die Einstellungen nicht in die Computerkonfigurationsdatei kopiert.

Weitere Informationen dazu, wie die Common Language Runtime die Computerkonfigurationsdatei für die Assemblybindung verwendet, finden Sie unter So sucht Common Language Runtime nach Assemblys.

Anwendungskonfigurationsdateien

Anwendungskonfigurationsdateien enthalten anwendungsspezifische Einstellungen. Eine solche Datei enthält Konfigurationseinstellungen, die von der Common Language Runtime gelesen werden (z. B. Assemblybindungsrichtlinien, Remotingobjekte usw.), und Einstellungen, die von der Anwendung gelesen werden können.

Name und Speicherort der Anwendungskonfigurationsdatei sind vom Host der Anwendung abhängig; folgende Hosts sind möglich:

  • Von einer ausführbaren Datei gehostete Anwendung.

    Die Konfigurationsdatei einer Anwendung, die von einer ausführbaren Datei gehostet wird, befindet sich im selben Verzeichnis wie die Anwendung. Die Konfigurationsdatei trägt den gleichen Namen wie die Anwendung, die Dateierweiterung lautet .config. Beispielsweise wird einer Anwendung mit dem Namen myApp.exe eine Konfigurationsdatei mit dem Namen myApp.exe.config zugeordnet.

    HinweisHinweis

    Legen Sie die CONFIG-Datei in Visual Studio-Projekten im Projektverzeichnis ab, und legen Sie die zugehörige In Ausgabeverzeichnis kopieren-Eigenschaft auf Immer kopieren oder Kopieren, wenn neuer fest.Visual Studio kopiert die Datei automatisch in das Verzeichnis, in dem die Assembly kompiliert wird.

  • Von ASP.NET gehostete Anwendung.

    Weitere Informationen über ASP.NET-Konfigurationsdateien finden Sie unter ASP.NET-Konfigurationseinstellungen.

  • Von Internet Explorer gehostete Anwendung.

    Verfügt eine von Internet Explorer gehostete Anwendung über eine Konfigurationsdatei, wird der Speicherort dieser Datei in einem <link>-Tag mit folgender Syntax angegeben:

    <link rel="Konfigurationsdateiname" href="Speicherort">

    In diesem Tag bezeichnet location die URL, an der sich die Konfigurationsdatei befindet. Dadurch wird die Anwendungsbasis festgelegt. Die Konfigurationsdatei und die Anwendung müssen sich in derselben Website befinden.

Sicherheitskonfigurationsdateien

Sicherheitskonfigurationsdateien enthalten Informationen zur Codegruppenhierarchie und zu Berechtigungen, die einer Richtlinienebene zugeordnet sind. Es wird dringend empfohlen, mithilfe des .NET Framework Configuration-Tools (Mscorcfg.msc) oder des Sicherheitsrichtlinientools für den Codezugriff (Caspol.exe) die Sicherheitsrichtlinie dahingehend zu ändern, dass Richtlinienänderungen keinesfalls zur Beschädigung der Sicherheitskonfigurationsdateien führen können.

HinweisHinweis

Ab .NET Framework 4 sind die Sicherheitskonfigurationsdateien nur vorhanden, wenn die Sicherheitsrichtlinien geändert wurden.

Die Sicherheitskonfigurationsdateien sind an folgenden Speicherorten abgelegt:

  • Konfigurationsdatei für Unternehmensrichtlinien: %Installationspfad der Common Language Runtime%\Config\Enterprisesec.config

  • Konfigurationsdatei für Computerrichtlinien: %Installationspfad der Common Language Runtime%\Config\Security.config

  • Konfigurationsdatei für Benutzerrichtlinien: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Siehe auch

Referenz

Mscorcfg.msc (.NET Framework-Konfigurationstool)

Caspol.exe (Richtlinientool für die Codezugriffssicherheit)

Konzepte

Festlegen des Speicherortes einer Assembly

Umleiten von Assemblyversionen

Assemblys in der Common Language Runtime (CLR)

Weitere Ressourcen

Konfigurationsdateischema für .NET Framework

ASP.NET-Konfigurationseinstellungen

Verwaltung der Sicherheitsrichtlinien

Remote Objects

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

März 2011

Informationen über Sicherheitskonfigurationsdateien aktualisiert.

Korrektur inhaltlicher Fehler.