Search code examples
.net.net-4.0async-awaitc#-5.0targeting

Async Await targeting 4.0 deployment requirements


Microsoft has updated the async/await targeting for .net 4.0 and now suggests using the Microsoft.Bcl.Async library available on nuget.

In the release notes, it states that .net 4 with KB 2468871 is required.

  1. Is KB2468871 a build requirement or a deployment requirement?
  2. What aspect of KB2468871 makes it required?

Solution

  • Quoting from http://support.microsoft.com/kb/2468871/en-us

    Feature 5 Changes to the support portable libraries. These changes include API updates and binder modifications. This update enables the CLR to bind successfully to portable libraries so that a single DLL can run on the .NET Framework 4, on Silverlight, on Xbox, or on the Windows Phone. This update adds public Silverlight APIs to the .NET Framework 4 in the same location. The API signatures will remain consistent across the platform. All modifications are 100 percent compatible and will not break any existing code.

    It turns out that without this kb installed Microsoft.Bcl crashes (it tries to bind to silverlight System.Core library which is not on the system)