활성화 구성 파일

관리되는 확장성 모델을 제공하는 응용 프로그램의 경우 .NET Framework 런타임의 특정 버전과 함께 실행되는 확장이 필요할 수 있습니다. 이 버전은 응용 프로그램 구성 파일 또는 호스트 구성 파일에 지정됩니다. .NET Framework 4 이전에는 서로 다른 구성 파일을 응용 프로그램에 제공하지 않으면 런타임의 이후 버전으로 확장을 작성할 수 없었습니다. 그러나 이 방법을 사용하면 모든 확장이 새로운 런타임을 사용하게 되는 원치 않는 결과가 발생했습니다.

활성화 구성 파일은 확장 작성자가 응용 프로그램의 확장성 모델을 플랫폼으로 사용하고 로드된 모든 확장을 완전히 제어하는 시나리오에 적합한 대체 솔루션을 제공합니다. 이 시나리오에서는 로드 및 활성화되는 런타임 버전을 확장 작성자가 결정하도록 하는 것이 좋습니다.

예를 들어 MMC(Microsoft Management Console)가 .NET Framework 2.0 런타임의 활성화를 지정하는 컴퓨터에서 .NET Framework 4를 사용하여 MMC 스냅인 집합을 만들어 관리 콘솔의 사용자 인터페이스를 사용자 지정할 수 있습니다. MMC 활성화 정보를 직접 바꿀 수는 없지만 콘솔이 시작할 때 .NET Framework 4 런타임이 활성화되도록 해당 콘솔에 맞게 활성화 정보를 재정의하는 활성화 구성 파일의 위치를 환경 변수를 사용하여 지정할 수 있습니다.

활성화 구성 파일 제공

활성화 구성 파일 이름은 응용 프로그램 구성 파일과 동일한 패턴을 따르지만 확장명으로 .activation_config를 사용합니다. 예를 들어 MyApp.exe라는 응용 프로그램의 응용 프로그램 구성 파일 이름은 MyApp.exe.config이고 활성화 구성 파일의 이름은 MyApp.exe.activation_config입니다.

활성화 구성 파일에는 모든 구성 파일 요소가 포함될 수 있지만 구문 분석되는 요소는 활성화에 일반적으로 사용되는 다음 요소뿐입니다.

활성화 구성 파일은 런타임을 시작하는 shim 코드에서만 사용됩니다. 런타임 자체는 파일과 상호 작용하지 않습니다.

응용 프로그램 구성 파일을 만든 후 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.30319"/>
   </startup>
   <runtime>
      <appDomainResourceMonitoring enabled="true"/>
   </runtime>
</configuration>

지원되는 활성화 방법

활성화 구성 파일은 다음과 같은 활성화 방법에 영향을 줍니다. "레거시"라는 용어는 .NET Framework 4 이전의 .NET Framework 버전을 가리킵니다.

참고 항목

기타 리소스

.NET Framework 및 응용 프로그램 배포

호스팅(관리되지 않는 API 참조)

MMC 3.0 및 4.0 CLR 지원