.NET Framework May 2018 Preview of Quality Rollup

Today, we are releasing the May 2018 Preview of Quality Rollup.

Quality and Reliability

This release contains the following quality and reliability improvements.

CLR

  • Resolves an issue in WindowsIdentity.Impersonate where handles were not being explicitly cleaned up. [581052]
  • Resolves an issue in deserialization when using a collection, for example, ConcurrentDictionary by ignoring casing. [524135]
  • Removes case where floating-point overflow occurs in the thread pool’s hill climbing algorithm. [568704]
  • Resolves instances of high CPU usage with background garbage collection. This can be observed with the following two functions on the stack: clr!*gc_heap::bgc_thread_function, ntoskrnl!KiPageFault. Most of the CPU time is spent in the ntoskrnl!ExpWaitForSpinLockExclusiveAndAcquire function. This change updates background garbage collection to use the CLR implementation of write watch instead of the one in Windows. [574027]

Networking

  • Fixed a problem with connection limit when using HttpClient to send requests to loopback addresses. [539851]

WPF

  • A crash can occur during shutdown of an application that hosts WPF content in a separate AppDomain. (A notable example of this is an Office application hosting a VSTO add-in that uses WPF.) [543980]
  • Addresses an issue that caused XAML Browser Applications (XBAP’s) targeting .NET 3.5 to sometimes be loaded using .NET 4.x runtime incorrectly. [555344]
  • A WPF application can crash due to a NullReferenceException if a Binding (or MultiBinding) used in a DataTrigger (or MultiDataTrigger) belonging to a Style (or Template, or ThemeStyle) reports a new value, but whose host element gets GC’d in a very narrow window of time during the reporting process. [562000]
  • A WPF application can crash due to a spurious ElementNotAvailableException. [555225]
    This can arise if:

    1. Change TreeView.IsEnabled
    2. Remove an item X from the collection
    3. Re-insert the same item X back into the collection
    4. Remove one of X’s subitems Y from its collection
      (Step 4 can happen any time relative to steps 2 and 3, as long as it’s after step 1. Steps 2-4 must occur before the asynchronous call to UpdatePeer, posted by step 1; this will happen if steps 1-4 all occur in the same button-click handler.)

Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches.

Getting the Update

The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog.

Microsoft Update Catalog

You can get the update via the Microsoft Update Catalog.

Product Version Preview of Quality Rollup KB
Windows 8.1
Windows RT 8.1
Windows Server 2012 R2
Catalog
4103473
.NET Framework 3.5 4095875
.NET Framework 4.5.2 4098974
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 4098972
Windows Server 2012 Catalog
4098968
.NET Framework 3.5 4095872
.NET Framework 4.5.2 4098975
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 4098971
Windows 7
Windows Server 2008 R2
Catalog
4103472
.NET Framework 3.5.1 4095874
.NET Framework 4.5.2 4098976
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 4096234
Windows Server 2008 Catalog
4103474
.NET Framework 2.0, 3.0 4095873
.NET Framework 4.5.2 4098976
.NET Framework 4.6 4096234

Previous Monthly Rollups

The last few .NET Framework Monthly updates are listed below for your convenience: