Microsoft .NET Framework 4 applications that rely on a partial trust host may encounter errors in certain cases. The SQL Server CLR (SQLCLR) feature in Microsoft SQL Server 2012 uses such a partial trust host. (This feature allows for stored procedures to be written by using managed code.) Therefore, applications that are built by using SQL Server 2012 may be affected.
We are currently aware that Microsoft System Center 2012 Configuration Manager and Microsoft Dynamics CRM 2011 are affected by this issue.
For example, you may have a .NET Framework 4.0 client that uses the
System.Data.SqlClient namespace in a partial trust host such as SQL Server 2012 or Internet Information Services. When you call the
SqlConnection.Open method, you receive the following exception:
System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlConnectionFactory' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlPerformanceCounters' threw an exception. ---> System.MethodAccessException: Attempt by method 'System.Configuration.TypeUtil.CreateInstanceRestricted(System.Type, System.Type)' to access method 'System.Diagnostics.SwitchElementsCollection..ctor()' failed.
The following scenarios describe how this general issue may manifest itself.
Scenario 1
Database replication between sites and Software Update Point synchronization fail in System Center 2012 Configuration Manager. Client location requests for content do not return any distribution points in Microsoft System Center Configuration Manager 2007.
For more information about this issue, see the following Microsoft website:
Scenario 2
You have a plug-in running in Microsoft CRM 2011. In this scenario, method calls on certain classes to the
System.Diagnostics namespace may throw the following exception:
System.MethodAccessException: Attempt by method ‘System.Configuration.TypeUtil.CreateInstanceRestricted(System.Type, System.Type)’ to access method ‘System.Diagnostics.AssertSection..ctor()’ failed.