Konfigurieren von Apps mithilfe von KonfigurationsdateienConfiguring Apps by using Configuration Files

.NET Framework bietet Entwicklern und Administratoren die Möglichkeit, die Ausführung von Anwendungen über Konfigurationsdateien flexibel zu steuern.The .NET Framework, through configuration files, gives developers and administrators control and flexibility over the way applications run. Konfigurationsdateien sind XML-Dateien, die je nach Bedarf verändert werden können.Configuration files are XML files that can be changed as needed. So kann der Administrator bestimmen, auf welche geschützten Ressourcen eine Anwendung zugreifen kann, welche Assemblyversionen sie verwenden soll und wo sich Remoteanwendungen befinden.An administrator can control which protected resources an application can access, which versions of assemblies an application will use, and where remote applications and objects are located. Entwickler wiederum können Einstellungen in Konfigurationsdateien einfügen, sodass eine Anwendung nicht jedes Mal neu kompiliert werden muss, wenn sich ihre Einstellungen ändern.Developers can put settings in configuration files, eliminating the need to recompile an application every time a setting changes. In diesem Abschnitt wird beschrieben, was konfiguriert werden kann und warum die Konfiguration einer Anwendung von Nutzen sein kann.This section describes what can be configured and why configuring an application might be useful.

Hinweis

Verwalteter Code kann mithilfe der Klassen im System.Configuration-Namespace Einstellungen aus den Konfigurationsdateien lesen, jedoch keine Einstellungen in diese Dateien schreiben.Managed code can use the classes in the System.Configuration namespace to read settings from the configuration files, but not to write settings to those files.

Dieses Thema beschreibt die Syntax von Konfigurationsdateien und enthält Informationen zu den drei Arten von Konfigurationsdateien: Computer, Anwendung und Sicherheit.This topic describes the syntax of configuration files and provides information about the three types of configuration files: machine, application, and security.

Format von KonfigurationsdateienConfiguration File Format

Konfigurationsdateien enthalten Elemente, so genannte logische Datenstrukturen zur Einstellung von Konfigurationsinformationen.Configuration files contain elements, which are logical data structures that set configuration information. Innerhalb der Konfigurationsdatei können Sie Anfang und Ende eines Elements durch Tags markieren.Within a configuration file, you use tags to mark the beginning and end of an element. Zum Beispiel besteht das Element <runtime> aus <runtime>untergeordneten</runtime>-Elementen.For example, the <runtime> element consists of <runtime>child elements</runtime>. Ein leeres Element würde in Form von <runtime/> oder <runtime></runtime> geschrieben.An empty element would be written as <runtime/> or <runtime></runtime>.

Wie bei allen XML-Dateien wird bei der Syntax von Konfigurationsdateien die Groß-/Kleinschreibung berücksichtigt.As with all XML files, the syntax in configuration files is case-sensitive.

Sie können Konfigurationseinstellungen mithilfe von vordefinierten Attributen vornehmen. Diese Attribute sind Name/Wert-Paare innerhalb des Anfangstags eines Elements.You specify configuration settings using predefined attributes, which are name/value pairs inside an element's start tag. 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).The following example specifies two attributes (version and href) for the <codeBase> element, which specifies where the runtime can locate an assembly (for more information, see Specifying an Assembly's Location).

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

ComputerkonfigurationsdateienMachine Configuration Files

Die Computerkonfigurationsdatei Machine.config enthält Einstellungen, die für den gesamten Computer gelten.The machine configuration file, Machine.config, contains settings that apply to an entire computer. Diese Datei befindet sich im Verzeichnis "%runtime install path%\Config".This file is located in the %runtime install path%\Config directory. Machine.config enthält Konfigurationseinstellungen für die computerweite Assemblybindung, für integrierte Remotingkanäle und für ASP.NET.Machine.config contains configuration settings for machine-wide assembly binding, built-in remoting channels, and ASP.NET.

Das Konfigurationssystem durchsucht zuerst die Computerkonfigurationsdatei nach dem <appSettings> -Element und anderen Konfigurationsabschnitten, die von einem Entwickler möglicherweise definiert wurden.The configuration system first looks in the machine configuration file for the <appSettings> element and other configuration sections that a developer might define. Anschließend wird die Anwendungskonfigurationsdatei durchsucht.It then looks in the application configuration file. Aus Gründen der Übersichtlichkeit der Computerkonfigurationsdatei empfiehlt es sich, diese Einstellungen in der Anwendungskonfigurationsdatei zu speichern.To keep the machine configuration file manageable, it is best to put these settings in the application configuration file. Wenn sich diese Einstellungen in der Computerkonfigurationsdatei befinden, ist das System jedoch u. U. einfacher zu warten.However, putting the settings in the machine configuration file can make your system more maintainable. 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.For example, if you have a third-party component that both your client and server application uses, it is easier to put the settings for that component in one place. In diesem Fall ist die Computerkonfigurationsdatei dafür am besten geeignet, und Sie vermeiden redundante Informationen in zwei verschiedenen Dateien.In this case, the machine configuration file is the appropriate place for the settings, so you don't have the same settings in two different files.

Hinweis

Wenn Sie eine Anwendung mithilfe von XCOPY bereitstellen, werden die Einstellungen nicht in die Computerkonfigurationsdatei kopiert.Deploying an application using XCOPY will not copy the settings in the machine configuration file.

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.For more information about how the common language runtime uses the machine configuration file for assembly binding, see How the Runtime Locates Assemblies.

AnwendungskonfigurationsdateienApplication Configuration Files

Eine Anwendungskonfigurationsdatei enthält App-spezifische Einstellungen.An application configuration file contains settings that are specific to an app. Eine solche Datei enthält Konfigurationseinstellungen, die von der Common Language Runtime gelesen werden (z. B. Assemblybindungsrichtlinien, Remotingobjekte usw.), und Einstellungen, die von der App gelesen werden können.This file includes configuration settings that the common language runtime reads (such as assembly binding policy, remoting objects, and so on), and settings that the app can read.

Name und Speicherort der Anwendungskonfigurationsdatei sind vom Host der App abhängig; folgende Hosts sind möglich:The name and location of the application configuration file depend on the app's host, which can be one of the following:

  • Von einer ausführbaren Datei gehostete App.Executable–hosted app.

    Diese Apps haben zwei Konfigurationsdateien: eine Quellkonfigurationsdatei, die von Entwicklern während der Entwicklung geändert wird, und eine Ausgabedatei, die mit der Anwendung verteilt wird.These apps have two configuration files: a source configuration file, which is modified by the developer during development, and an output file that is distributed with the app.

    Wenn Sie in Visual Studio entwickeln, legen Sie die Quellkonfigurationsdatei für Ihre App im Projektverzeichnis ab, und legen Sie die zugehörige Eigenschaft In Ausgabeverzeichnis kopieren auf Immer kopieren oder Kopieren, wenn neuer fest.When you develop in Visual Studio, place the source configuration file for your app in the project directory and set its Copy To Output Directory property to Copy always or Copy if newer. Die Konfigurationsdatei trägt den gleichen Namen wie die App, die Dateierweiterung lautet .config.The name of the configuration file is the name of the app with a .config extension. Beispielsweise sollte eine App mit dem Namen myApp.exe eine Quellkonfigurationsdatei mit dem Namen myApp.exe.config haben.For example, an app called myApp.exe should have a source configuration file called myApp.exe.config.

    Visual Studio kopiert die Quellkonfigurationsdatei automatisch in das Verzeichnis, in dem die kompilierte Assembly platziert wird, um die Ausgabekonfigurationsdatei zu erstellen, die mit der App bereitgestellt wird.Visual Studio automatically copies the source configuration file to the directory where the compiled assembly is placed to create the output configuration file, which is deployed with the app. In einigen Fällen wird die Ausgabekonfigurationsdatei von Visual Studio möglicherweise geändert. Weitere Informationen dazu finden Sie im Abschnitt Umleiten von Assemblyversionen auf App-Ebene des Artikels Umleiten von Assemblyversionen.In some cases, Visual Studio may modify the output configuration file; for more information, see the Redirecting assembly versions at the app level section of the Redirecting Assembly Versions article.

  • Von ASP.NET gehostete App.ASP.NET-hosted app.

    Weitere Informationen zu ASP.NET-Konfigurationsdateien finden Sie unter ASP.NET-Konfigurationseinstellungen.For more information about ASP.NET configuration files, see ASP.NET Configuration Settings.

  • Von Internet Explorer gehostete App.Internet Explorer-hosted app.

    Verfügt eine von Internet Explorer gehostete App über eine Konfigurationsdatei, wird der Speicherort dieser Datei in einem <link>-Tag mit folgender Syntax angegeben:If an app hosted in Internet Explorer has a configuration file, the location of this file is specified in a <link> tag with the following syntax:

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

    In diesem Tag bezeichnet location die URL, an der sich die Konfigurationsdatei befindet.In this tag, location is a URL to the configuration file. Dadurch wird die App-Basis festgelegt.This sets the app base. Die Konfigurationsdatei und die App müssen sich in derselben Website befinden.The configuration file must be located on the same website as the app.

SicherheitskonfigurationsdateienSecurity Configuration Files

Sicherheitskonfigurationsdateien enthalten Informationen zur Codegruppenhierarchie und zu Berechtigungen, die einer Richtlinienebene zugeordnet sind.Security configuration files contain information about the code group hierarchy and permission sets associated with a policy level. Es wird dringend empfohlen, mithilfe 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.We strongly recommend that you use the Code Access Security Policy tool (Caspol.exe) to modify security policy to ensure that policy changes do not corrupt the security configuration files.

Hinweis

Ab .NET Framework 4 sind die Sicherheits Konfigurationsdateien nur vorhanden, wenn die Sicherheitsrichtlinie geändert wurde.Starting with the .NET Framework 4, the security configuration files are present only if security policy has been changed.

Die Sicherheitskonfigurationsdateien sind an folgenden Speicherorten abgelegt:The security configuration files are in the following locations:

  • Konfigurationsdatei für Unternehmensrichtlinien: %Laufzeit-Installationspfad%\Config\Enterprisesec.configEnterprise policy configuration file: %runtime-install-path%\Config\Enterprisesec.config

  • Konfigurationsdatei für Computerrichtlinien: %Laufzeit-Installationspfad%\Config\Security.configMachine policy configuration file: %runtime-install-path%\Config\Security.config

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

In diesem AbschnittIn This Section

Vorgehensweise: Suchen von Assemblys mit DEVPATHHow to: Locate Assemblies by Using DEVPATH
Beschreibt, wie die Common Language Runtime angewiesen wird, beim Suchen nach Assemblys die DEVPATH-Umgebungsvariable zu verwenden.Describes how to direct the runtime to use the DEVPATH environment variable when searching for assemblies.

Umleiten von AssemblyversionenRedirecting Assembly Versions
Beschreibt das Festlegen des Speicherorts und der zu verwendenden Version einer Assembly.Describes how to specify the location of an assembly and which version of an assembly to use.

Festlegen des Speicherortes einer AssemblySpecifying an Assembly's Location
Beschreibt, wie festgelegt wird, wo die Common Language Runtime nach einer Assembly suchen soll.Describes how to specify where the runtime should search for an assembly.

Konfigurieren kryptografischer KlassenConfiguring Cryptography Classes
Beschreibt die Zuordnung eines Algorithmusnamens zu einer kryptografischen Klasse und eines Objektbezeichners zu einem kryptografischen Algorithmus.Describes how to map an algorithm name to a cryptography class and an object identifier to a cryptography algorithm.

Vorgehensweise: Erstellen einer Herausgeber RichtlinieHow to: Create a Publisher Policy
Beschreibt die Situationen, in denen Sie eine Herausgeberrichtliniendatei hinzufügen sollten, um Assemblyumleitung und CodeBase-Einstellungen anzugeben, sowie die entsprechende Vorgehensweise.Describes when and how you should add a publisher policy file to specify assembly redirection and code base settings.

KonfigurationsdateischemaConfiguration File Schema
Beschreibt die Schemahierarchie für Startup, Laufzeit, Netzwerk und anderen Arten von Konfigurationseinstellungen.Describes the schema hierarchy for startup, runtime, network, and other types of configuration settings.

Siehe auchSee also