Freigeben über


Aktivierungskonfigurationsdateien

Eine Anwendung, die ein verwaltetes Erweiterbarkeitsmodell bereitstellt, kann erfordern, dass Erweiterungen mit einer bestimmten Version der .NET Framework-Laufzeit ausgeführt werden. Hierfür wird die Version in einer Anwendungskonfigurationsdatei oder Hostkonfigurationsdatei angegeben. Vor .NET Framework, Version 4 bestand die einzige Möglichkeit zum Schreiben von Erweiterungen mit einer höheren Version der Laufzeit darin, eine andere Konfigurationsdatei für die Anwendung bereitzustellen. Leider hatte dies die unerwünschte Folge, dass für alle Erweiterungen die Verwendung der neueren Laufzeit erzwungen wurde.

Aktivierungskonfigurationsdateien stellen eine alternative Lösung für das bestimmte Szenario bereit, in dem der Erweiterungsautor das Erweiterbarkeitsmodell einer Anwendung als Plattform verwendet und alle geladenen Erweiterungen vollständig steuert. In diesem Szenario ist es sinnvoll, den Erweiterungsautor entscheiden zu lassen, welche Version der Laufzeit geladen und aktiviert wird.

Sie könnten z. B. mit .NET Framework 4 einen Satz von Microsoft Management Console-Snap-Ins (MMC) erstellen und so die Benutzeroberfläche einer Verwaltungskonsole auf Computern anpassen, auf denen MMC die Aktivierung der .NET Framework, Version 2.0-Laufzeit angibt. Sie können die Aktivierungsinformationen für MMC nicht direkt ersetzen, aber Sie können den Speicherort einer Aktivierungskonfigurationsdatei, die sie für eine bestimmte Konsole überschreibt, mithilfe einer Umgebungsvariablen angeben, sodass die .NET Framework 4-Laufzeit aktiviert wird, wenn die Konsole gestartet wird.

Bereitstellen einer Aktivierungskonfigurationsdatei

Die Namen von Aktivierungskonfigurationsdateien folgen dem gleichen Muster wie die Namen von Anwendungskonfigurationsdateien, verwenden jedoch die Erweiterung .activation_config. Der Name der Anwendungskonfigurationsdatei für eine Anwendung mit dem Namen MyApp.exe lautet z. B. MyApp.exe.config, und der Name der Aktivierungskonfigurationsdatei lautet MyApp.exe.activation_config.

Aktivierungskonfigurationsdateien können beliebige Konfigurationsdateielemente enthalten, es werden jedoch nur die Elemente analysiert, die normalerweise zur Aktivierung verwendet werden:

  • Elemente im Abschnitt <startup>.

  • Die Elemente <gcServer>, <appdomainResourceMonitoring> und <etwEnable> im Abschnitt <runtime>.

    Wichtiger HinweisWichtig

    Stellen Sie sicher, dass diese drei <runtime>-Einstellungen in der Aktivierungskonfigurationsdatei die Gleichen wie die entsprechenden Einstellungen in der Anwendungs- oder Hostkonfigurationsdatei sind.

Die Aktivierungskonfigurationsdatei wird nur vom Shimcode verwendet, der die Laufzeit startet. Die Laufzeit selbst interagiert nicht mit der Datei.

Sobald Sie die Anwendungskonfigurationsdatei erstellt haben, legen Sie die COMPLUS_ApplicationMigrationRuntimeActivationConfigPath-Umgebungsvariable auf den Pfad fest, unter dem die Datei gespeichert wurde. Während des Auswahlprozesses für die zu aktivierende Laufzeit wird dieser Pfad nach einer Anwendungskonfigurationsdatei durchsucht, deren Name dem Muster entspricht.

Wenn die Umgebungsvariable festgelegt wird, der angegebene Pfad jedoch keine Aktivierungskonfigurationsdatei enthält, die dem Muster entspricht, wird die Laufzeitaktivierung wie gewohnt durch die Anwendungs- oder Hostkonfigurationsdatei gesteuert.

Die Umgebungsvariable kann global oder durch einen Startprogrammprozess festgelegt werden, der die Umgebung konfiguriert. Das Festlegen von globalen Umgebungsvariablen unterliegt Racebedingungen mit anderen Anwendungen.

Die folgende Befehlszeilensitzung kopiert z. B. eine Aktivierungskonfigurationsdatei in einen Ordner, legt die Umgebungsvariable auf diesen Pfad fest und führt die Anwendung aus:

copy c:\MyConfigs\MyApp.exe.activation_config c:\CustomConfigs
set COMPLUS_ApplicationMigrationRuntimeActivationConfigPath =
   c:\CustomConfigs
c:\Program Files\MyApp\MyApp.exe

Die folgende Aktivierungskonfigurationsdatei gibt die Aktivierung der .NET Framework 4-Laufzeit an und dupliziert eine hypothetische <appDomainResourceMonitoring>-Einstellung von der Konfigurationsdatei der hypothetischen Anwendung:

<configuration>
   <startup>
      <supportedRuntime version="v4.0.xxxx"/>
   </startup>
   <runtime>
      <appDomainResourceMonitoring enabled="true"/>
   </runtime>
</configuration>

Unterstützte Aktivierungsmethoden

Aktivierungskonfigurationsdateien haben Auswirkungen auf die folgenden Aktivierungsmethoden. Der Begriff "älter" bezieht sich auf .NET Framework-Versionen vor .NET Framework 4.

Siehe auch

Konzepte

Bereitstellen von .NET Framework und Anwendungen

Weitere Ressourcen

Hosting (Referenz zur nicht verwalteten API)