激活配置文件

提供托管扩展性模型的应用程序可以要求使用特定版本的 .NET Framework 运行时来运行扩展,采用的方式是在应用程序配置文件或主机配置文件中指定该版本。 在 .NET Framework 4 版之前,使用更新版本的运行时写入扩展的唯一方法是为应用程序提供一个不同的配置文件。 遗憾的是,这将产生不想要的结果,即强制所有扩展使用更新的运行时。

激活配置文件为以下特定情形提供了备选解决方案:扩展作者将应用程序的扩展性模型用作一个平台,并完全控制加载的所有扩展。 在此情形中,允许扩展作者决定加载和激活运行时的哪个版本是合理的。

例如,您可能需要使用 .NET Framework 4 创建一组 Microsoft 管理控制台 (MMC) 管理单元,来自定义 MMC 指定激活 .NET Framework 2.0 版运行时的计算机上的管理控制台的用户界面。 虽然您无法直接替换 MMC 的激活信息,但您可以使用环境变量来指定为特定控制台重写的激活配置文件的位置,以便在启动控制台时激活 .NET Framework 4 运行时。

提供激活配置文件

激活配置文件名称遵循与应用程序配置文件名称相同的模式,只不过它使用的扩展名为 .activation_config。 例如,名为 MyApp.exe 的应用程序具有一个名为 MyApp.exe.config 的应用程序配置文件和一个名为 MyApp.exe.activation_config 的激活配置文件。

激活配置文件可以包含任何配置文件元素,但仅分析那些通常用于激活的元素:

活动配置文件仅由启动运行时的填充代码使用。 运行时本身不会与此文件进行交互。

在创建应用程序配置文件后,将 COMPLUS_ApplicationMigrationRuntimeActivationConfigPath 环境变量设置为文件所在的路径。 在选择要激活的运行时的过程中,将为其名称与模式匹配的应用程序配置文件搜索此路径。

如果设置了环境变量,但指定的路径未包含模式匹配的任何激活配置文件,则照常由应用程序或主机配置文件控制运行时激活。

可以全局设置环境变量,也可以由配置环境的启动程序进程来设置环境变量。 设置全局环境变量受到与其他应用程序争用的条件的限制。

例如,下面的命令行会话将激活配置文件复制到文件夹中,并将环境变量设置为此路径,然后运行应用程序:

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

下面的活动配置文件指定 .NET Framework 4 运行时的激活并从假设的应用程序的配置文件复制假设的 <appDomainResourceMonitoring> 设置:

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

支持的激活方法

激活配置文件将影响以下激活方法。 “旧版”一词是指 .NET Framework 4 之前的 .NET Framework 版本。

请参见

概念

部署 .NET Framework 和应用程序

其他资源

承载(非托管 API 参考)