Hotfix rollup 3139546 for the .NET Framework 4.5.2, 4.5.1, and 4.5

Applies to: .NET Framework 4.5Windows 7 Service Pack 1Windows Server 2008 R2 Service Pack 1 More

This article describes hotfix rollup 3139546, which is available for the Microsoft .NET Framework 4.5.2, 4.5.1, and 4.5. For more information about the issues that the hotfix rollup fixes, see the "Issues that this hotfix rollup fixes" section.


Download information

The following file is available for download from the Microsoft Download Center:

For more information about how to download Microsoft support files, click the following article number to go to the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

More Information


To apply this hotfix, you must have the .NET Framework 4.5.2, 4.5.1, or 4.5 installed.

Restart requirement

You must restart the computer after you apply this hotfix if any affected files are being used. We recommend that you exit all .NET Framework-based applications before you apply this hotfix.

Hotfix replacement information

This hotfix package doesn't replace a previously released hotfix package.

Issues that this hotfix rollup fixes

Issue 1

When you run an application that experiences heavy workloads and a specific usage pattern for dynamic methods (for example, Entity Framework, LINQ to SQL), the application may crash intermittently.

This behavior occurs because of an issue in dynamic method lifetime management. When this issue occurs, a System.Reflection.TargetInvocationException error is thrown.

This fix corrects the lifetime management issue.

Issue 2

Both System.Web.Caching and System.Runtime.Caching report the volume of memory used by the whole AppDomain instead of the volume of memory used by the cached items.

This is a regression issue from the .NET Framework 4.5 in which a change in Timer implementation was made. In addition to reporting an incorrect size, the additional objects referenced by the cache may significantly affect Gen2 GC latency. In ASP.NET hosting scenarios, the cache also miscalculates the size of all caches in all application domains (reported through the Cache % Process Memory Limit Used ASP.NET performance counter) when application domains are recycled.

The fix removes unintended references from the cache to the rest of the app domain objects, and therefore the correct size is now reported. It also includes changes to improve the latency for System.Runtime.Caching on multi-core computers that are using Server GC. Finally, this fix enables the correct calculation of all cache sizes in app domain recycling scenarios.

Applies to

This article applies to the following:
  • Microsoft .NET Framework 4.5.2 
  • Microsoft .NET Framework 4.5.1
  • Microsoft .NET Framework 4.5
  • Windows 7 Service Pack 1
  • Windows Server 2008 R2 Service Pack 1
  • Windows Server 2008 Service Pack 2
  • Windows Vista Service Pack 2