다음을 통해 공유


<supportPortability> 요소

애플리케이션 이식성을 위해 어셈블리를 동일하게 간주하는 기본 동작을 사용하지 않도록 설정함으로써, 애플리케이션이 .NET Framework의 서로 다른 두 구현에서 같은 어셈블리를 참조할 수 있도록 지정합니다.

<configuration>
  <runtime>
    <assemblyBinding>
      <supportPortability>

구문

<supportPortability PKT="public_key_token" enabled="true|false"/>  

특성 및 요소

다음 섹션에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성 Description
PKT 필수 특성입니다.

영향을 받는 어셈블리의 공개 키 토큰을 문자열로 지정합니다.
사용 선택적 특성입니다.

지정된 .NET Framework 어셈블리 구현 간의 이식성을 지원해야 하는지 여부를 지정합니다.

enabled 특성

설명
true 지정된 .NET Framework 어셈블리 구현 간의 이식성을 지원합니다. 기본값입니다.
false 지정된 .NET Framework 어셈블리 구현 간의 이식성을 지원하지 않도록 설정합니다. 이렇게 하면 애플리케이션이 지정된 어셈블리의 여러 구현에 대한 참조를 가질 수 있습니다.

자식 요소

없음

부모 요소

요소 Description
configuration 공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다.
runtime 어셈블리 바인딩 및 가비지 컬렉션에 대한 정보를 포함합니다.
assemblyBinding 어셈블리 버전 리디렉션 및 어셈블리 위치에 대한 정보를 포함합니다.

설명

.NET Framework 4부터 .NET Framework의 두 가지 구현(예: .NET Framework 구현 또는 Silverlight용 .NET Framework 구현) 중 하나를 사용할 수 있는 애플리케이션에 대한 지원이 자동으로 제공됩니다. 특정 .NET Framework 어셈블리의 두 가지 구현은 어셈블리 바인더에서 동일한 것으로 간주됩니다. 몇 가지 시나리오에서 이 애플리케이션 이식성 기능으로 인해 문제가 발생합니다. 이러한 시나리오에서는 <supportPortability> 요소를 사용하여 기능을 사용하지 않도록 설정할 수 있습니다.

이러한 시나리오 중 하나는 .NET Framework 구현과 특정 참조 어셈블리의 Silverlight용 .NET Framework 구현을 모두 참조해야 하는 어셈블리입니다. 예를 들어 WPF(Windows Presentation Foundation)로 작성된 XAML 디자이너는 디자이너의 사용자 인터페이스에 대한 WPF 데스크톱 구현과 Silverlight 구현에 포함된 WPF의 하위 집합을 모두 참조해야 할 수 있습니다. 기본적으로, 어셈블리 바인딩 시 두 어셈블리가 동등한 것으로 간주되기 때문에 서로 다른 참조를 사용할 경우 컴파일러 오류가 발생합니다. 이 요소는 기본 동작을 사용하지 않도록 설정하고 컴파일이 성공하도록 합니다.

중요

컴파일러가 정보를 공용 언어 런타임의 어셈블리 바인딩 논리에 전달하도록 하려면 /appconfig 컴파일러 옵션을 사용하여 이 요소가 포함된 app.config 파일의 위치를 지정해야 합니다.

예제

다음 예에서는 애플리케이션이 두 구현에 모두 존재하는 .NET Framework 어셈블리의 .NET Framework 구현과 Silverlight용 .NET Framework 모두에 대한 참조를 가질 수 있도록 합니다. 이 app.config 파일의 위치를 지정하려면 /appconfig 컴파일러 옵션을 사용해야 합니다.

<configuration>  
   <runtime>  
      <assemblyBinding>  
         <supportPortability PKT="7cec85d7bea7798e" enable="false"/>  
         <supportPortability PKT="31bf3856ad364e35" enable="false"/>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

참고 항목