2013년 8월 13일 이 문서가 업데이트되었습니다. "해결 방법" 절에서 언급된 업데이트된 보안 업데이트를 적용하는 것이 좋습니다.
특정한 경우 부분 신뢰 호스트를 사용하는 Microsoft .NET Framework 4 응용 프로그램에서 오류가 발생할 수 있습니다. Microsoft SQL Server 2012의 SQL Server CLR(SQLCLR) 기능은 이러한 부분 신뢰 호스트를 사용합니다. 이 기능을 사용하면 관리 코드를 사용하여 저장 프로시저를 작성할 수 있습니다. 따라서 SQL Server 2012를 사용하여 빌드된 응용 프로그램이 영향을 받을 수 있습니다.
현재 Microsoft System Center 2012 Configuration Manager 및 Microsoft Dynamics CRM 2011이 이 문제의 영향을 받는 것으로 파악되었습니다.
예를 들어 SQL Server 2012 또는 인터넷 정보 서비스와 같은 부분 신뢰 호스트에 System.Data.SqlClient 네임스페이스를 사용하는 .NET Framework 4.0 클라이언트가 있을 수 있습니다. SqlConnection.Open 메서드를 호출하면 다음과 같은 예외가 발생합니다.
System.TypeInitializationException: 'System.Data.SqlClient.SqlConnection'의 형식 이니셜라이저에서 예외가 발생했습니다. ---> System.TypeInitializationException: 'System.Data.SqlClient.SqlConnectionFactory'의 형식 이니셜라이저에서 예외가 발생했습니다. ---> System.TypeInitializationException: 'System.Data.SqlClient.SqlPerformanceCounters'의 형식 이니셜라이저에서 예외가 발생했습니다. ---> System.MethodAccessException: 'System.Configuration.TypeUtil.CreateInstanceRestricted(System.Type, System.Type)' 메서드가 'System.Diagnostics.SwitchElementsCollection..ctor()' 메서드에 액세스하지 못했습니다.
다음 시나리오에서는 이러한 일반적인 문제가 어떻게 드러나는지 설명합니다.
시나리오 1
System Center 2012 Configuration Manager에서 사이트 간 데이터베이스 복제와 소프트웨어 업데이트 지점 동기화에 실패했습니다. Microsoft System Center Configuration Manager 2007에서 콘텐츠에 대한 클라이언트 위치 요청이 어떠한 배포 지점도 반환하지 않습니다.
이 문제에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
시나리오 2
Microsoft CRM 2011에서 실행 중인 플러그인이 있습니다. 이 시나리오에서, 특정 클래스의 메서드가 System.Diagnostics 네임스페이스를 호출하면 다음과 같은 예외가 발생합니다.
System.MethodAccessException: ‘System.Configuration.TypeUtil.CreateInstanceRestricted(System.Type, System.Type)’ 메서드가 ‘System.Diagnostics.AssertSection..ctor()’ 메서드에 액세스하지 못했습니다.
현상
이 문제는 .NET Framework 4에 잘못 최적화된 함수가 있기 때문에 발생합니다.
원인
이 문제를 해결하려면 업데이트된 다음 보안 업데이트를 적용하십시오. 2840628.
해결 방법
적용 대상
이 문서는 다음에 적용됩니다.
-
다음 운영 체제의 Microsoft .NET Framework 4
-
Windows 7 서비스 팩 1
-
Windows Server 2008 R2 서비스 팩 1
-
Windows Vista 서비스 팩 2
-
Windows Server 2008 서비스 팩 2
-
Windows XP 서비스 팩 3
-
Windows Server 2003 서비스 팩 2
-