다음을 통해 공유


<NetFx40_LegacySecurityPolicy> 요소

런타임에서 CAS(레거시 코드 액세스 보안) 정책을 사용하는지 여부를 지정합니다.

<구성>
   <런타임>
     <NetFx40_LegacySecurityPolicy>

비고

CAS(코드 액세스 보안)는 모든 버전의 .NET Framework 및 .NET에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 적용하지 않으며 CAS 관련 API를 사용하는 경우 오류를 생성합니다. 개발자는 보안 작업을 수행하는 다른 방법을 찾아야 합니다.

문법

<NetFx40_LegacySecurityPolicy
   enabled="true|false"/>

특성 및 요소

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

Attributes

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

런타임에서 레거시 CAS 정책을 사용하는지 여부를 지정합니다.

enabled 특성

가치 Description
false 런타임은 레거시 CAS 정책을 사용하지 않습니다. 기본값입니다.
true 런타임은 레거시 CAS 정책을 사용합니다.

자식 요소

없음.

부모 요소

요소 Description
configuration 공용 언어 런타임 및 .NET Framework 애플리케이션에서 사용하는 모든 구성 파일의 루트 요소입니다.
runtime 런타임 초기화 옵션에 대한 정보를 포함합니다.

비고

.NET Framework 버전 3.5 및 이전 버전에서는 CAS 정책이 항상 적용됩니다. .NET Framework 4에서 CAS 정책을 사용하도록 설정해야 합니다.

CAS 정책은 버전별로 다릅니다. 이전 버전의 .NET Framework에 있는 사용자 지정 CAS 정책은 .NET Framework 4에서 다시 지정해야 합니다.

.NET Framework 4 어셈블리에 요소를 적용해 <NetFx40_LegacySecurityPolicy>보안 투명 코드에는 영향을 주지 않습니다. 투명도 규칙은 여전히 적용됩니다.

중요합니다

요소를 적용하면 <NetFx40_LegacySecurityPolicy> 전역 어셈블리 캐시에 설치되지 않은 네이티브 이미지 생성기(Ngen.exe)에서 만든 네이티브 이미지어셈블리에 상당한 성능 저하가 발생할 수 있습니다. 성능 저하는 특성이 적용될 때 런타임이 어셈블리를 네이티브 이미지로 로드하지 못하여 적시에 어셈블리로 로드되기 때문입니다.

비고

Visual Studio 프로젝트의 프로젝트 설정에서 .NET Framework 4 이전의 대상 .NET Framework 버전을 지정하면 해당 버전에 대해 지정한 사용자 지정 CAS 정책을 포함하여 CAS 정책이 활성화됩니다. 그러나 새 .NET Framework 4 형식 및 멤버는 사용할 수 없습니다. 애플리케이션 구성 파일의 시작 설정 스키마에 있는 요소를 사용하여 <supportedRuntime> 이전 버전의 .NET Framework를 지정할 수도 있습니다.

비고

구성 파일 구문은 대/소문자를 구분합니다. 구문 및 예제 섹션에 제공된 대로 구문을 사용해야 합니다.

구성 파일

이 요소는 애플리케이션 구성 파일에서만 사용할 수 있습니다.

예시

다음 예제에서는 애플리케이션에 대해 레거시 CAS 정책을 사용하도록 설정하는 방법을 보여 줍니다.

<configuration>
   <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
</configuration>

참고하십시오