Update for the .NET Framework 4: March, 2011

This article describes a General Distribution Release (GDR) update for the Microsoft .NET Framework 4. This update includes all the previous update packages in Microsoft Knowledge Base articles that are listed in the "Update replacement information" section.

This update also resolves some issues that were not documented in a previously released Knowledge Base article. For more information about these issues, see the "More information" section.

How to obtain this update

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

Download Download the Microsoft .NET Framework 4 package now.

0x643" error code occurs when you install this update

To resolve the .NET Framework update installation error, see other methods in the following Knowledge Base article:

976982 .NET Framework update installation error: "0x80070643" or "0x643"

Issues that are resolved in this update

Issues that this update rollup package resolves are as follows.

Issue 1

Consider the following scenario:
  • You create a Visual Studio 2010-based add-in application. The add-in application enumerates several projects by using a background thread.
  • You run an instance of Microsoft Visual Studio 2010 and the add-in application.
  • Garbage collection runs.
In this scenario, the instance of Visual Studio 2010 may crash.

Issue 2

Consider the following scenario:
  • You develop a .NET Framework 4-based add-in application for Microsoft Office Excel.
  • You run the add-in application, and then the Application.WorkbookBeforeSave event occurs.
In this scenario, the SaveAsUI parameter in this event is always set to the TRUE value.

Issue 3

If the focus is set to a window of a Visual Studio 2010-based application when the computer enters sleep mode, a memory leak occurs when the computer resumes from sleep mode.

Issue 4

When a .NET Framework 4-based Windows Presentation Foundation (WPF) application tries to load some text from a .ttf file, the text is displayed incorrectly. Additionally, an access violation occurs, and then the application crashes.

Note The stack trace resembles the following:
06bdeafc 71086dd5 dwrite!TrueTypeRasterizer::Implementation::ReleaseSfntFragment()+0x1f
06bdeb5c 7108d327 dwrite!sfac_GetSbitBitmap()+0x428
06bdec10 7108d4d8 dwrite!GetSbitComponent()+0xb5

Issue 5

When you perform a touch manipulation in a .NET Framework 4-based WPF application on a multitouch screen, the application crashes, or the *.vshost.exe process crashes. For example, the application crashes when you try to scroll up or to scroll down.

Issue 6

When you try to select multiple items in the Pending Changes window in Visual Studio 2010, the Visual Studio IDE disappears, and a Dr. Watson error is not generated.

Issue 7

Consider the following scenario:
  • You run Visual Studio 2010 on a 64-bit operating system.
  • You debug an application.
  • You enable the managed debugging assistants (MDA).
  • You try to close the application in the IDE.
In this scenario, the raceOnRCWCleanup MDA incorrectly runs.

Issue 8

When you scroll in a .NET Framework 4-based WPF application while the text in a tab control is being formatted, the application runs slowly.

Issue 9

When you try to host a webpage that has the targetFramework property set as the .NET Framework on a Server Core, you receive the following error message:
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, '<compilation targetFramework="4.0">'). The 'targetFramework' attribute currently references a version that is later than the installed version of the .NET Framework. Specify a valid target version of the .NET Framework, or install the required version of the .NET Framework.

Source Error:
Line 2: <configuration>
Line 3: <system.web>
Line 4: <compilation debug="false" targetFramework=".NETFramework, version=v4.0" />
Line 5: </system.web>Line 6: </configuration>

Issue 10


Consider the following scenario:
  • You create a Visual Studio 2010 application that contains a Dataset database.
  • You drop some tables from Dataset Designer.
  • You check the order of the tables in Dataset Designer.
In this scenario, the tables are sorted incorrectly.


This issue occurs because of an error in the TableAdapterManager class in Visual Studio 2010.

Issue 11

When a client requests the RESTful web service in an .asmx or a .svc file by using the ASP.NET pipeline and by using the extension-less URL handling, the state of the request might incorrectly change.

Issue 12

In the .NET Framework 4, the Application_Start and PreAppStart methods do not have access to the HttpUtility.HtmlEncode method and to the related APIs.

Issue 13

When you try to run a Microsoft Visual C# or Microsoft Visual Basic application, the application does not run if an Entity Data Model (EDM) references a database project. Additionally, the debugging features of the application do not work.

Issue 14

When you use SQL providers, the following issues occur:
  • An exception is thrown on the garbage collection thread.
  • A Dr. Watson error occurs, and you receive an error message that resembles the following:
    Application: webdev.webserver20.exe
    Blamed Symbol:
    Exception code: system.invalidoperationexception
    Event Sub type: Clr20r3
  • The w3wp.exe process crashes.

    Note The w3wp.exe process is a web-hosting process.

Issue 15


The SqlDataSource class does not support a parameter that is used to access data in a Microsoft SQL Server Compact Edition database.


This issue occurs because Microsoft SQL Server Compact Edition cannot support a parameter in the SqlDataSource class.

Issue 16


When you try to run an ASP.NET webpage, you receive the following error message:
HttpContext.User is supposed to be a MyWindowsPrincipal.

The issue occurs because the Extensionless URL handler passes the parent IHttpUser interface to the child requests. Therefore, the child requests skip the authentication process.

Issue 17

Consider the following scenario:
  • You have a Visual Studio 2010-based project that has an Entity Data Model (EDM). The EDM references a database that is of medium or large size. For example, the database contains 500 tables.
  • You try to reverse-engineer the tables.
In this scenario, reverse-engineering the tables requires a long time. For example, reverse-engineering 500 tables requires 14 minutes.

Issue 18

Consider the following scenario:
  • You install Visual Studio 2010 Service Pack 1 (SP1) Beta on a computer that is running Internet Information Services (IIS) 6.0.
  • You set the isolation mode to IIS 5.0.
  • You host a webpage in IIS 6.0.
In this scenario, you receive the following error message when you try to access the webpage:
503 - Service unavailable.

Issue 19

After you install a hotfix package that applies the .NET Framework 4, all services that are hosted on Windows Process Activation Services (also known as WAS) may be turned off. Additionally, the services cannot be restarted until you restart the computer. An example of a service is a WAS-hosted Windows Communication Foundation (WCF) service.

The following are the affected activation services:
  • Non-HTTP Activation
    • Message Queuing Activation
    • Named Pipes Activation
    • TCP Activation
  • TCP Port Sharing

Issue 20

Consider the following scenario:
  • You have an ASP.NET website that contains a WCF service. The website targets an earlier version of the .NET Framework 4.
  • You do not click to select the Allow this precompiled site to be updatable check box in the Publish Web Site wizard in Visual Studio 2010.
  • You publish the website.
  • A client tries to access the WCF service.
In this scenario, the WCF service does not respond to the client request. Additionally, the .svc.compile file incorrectly references the .NET Framework 4.

Note The .svc.compile file is generated by the publishing process.

Issue 21

Consider the following scenario:
  • You bind the Windows.AutoHide command to a keyboard shortcut.
  • You focus on a toggled tool window in Visual Studio 2010. For example, the focus is located on the Solution Explorer window.
  • You press the keyboard shortcut.
In this scenario, the window hides. However, when you press the key again, the window does not return as toggled.

Issue 22

When you use Visual Studio 2010 to debug an application, many verbose messages that resemble the following are shown in the Output window:
*** HR originated: -2147024774

*** Source File: d:\iso_whid\x86fre\base\isolation\com\copyout.cpp, line 1302 

*** HR propagated: -2147024774

*** Source File: d:\iso_whid\x86fre\base\isolation\com\enumidentityattribute.cpp, line 144

Issue 23

Assume that you build a web application on a computer and then publish the application on a different computer. When you use Visual Studio 2010 to attach the application, managed methods cannot be shown because of missing symbols for assemblies.

This problem occurs because the .pdb file that contains the information about symbols is not copied from the bin folder to the shadow copy folder.

Issue 24

You use the My namespace in a Visual Basic project. When you add an explicit reference to the Microsoft.VisualBasic.dll component to the project, the My namespace cannot work correctly. For example, you may receive the following error message:
'Application' is not a member of 'My'.

Issue 25

When you install an ASP.NET 4.0 hotfix, the aspnet_regiis –iru command is triggered. Then, some ASP.NET registry keys are removed.

Issue 26

When you request an .xap file through the Cassini in Visual Studio 2010, the MIME type of the returned response is "application/octet-stream" instead of the expected "application/x-silverlight-app."

Issue 27

In the Visual Studio 2010 IDE, you attach the debugger to a sqlservr.exe process. You set a breakpoint at a managed SQL function or at a managed stored procedure. The symbol file is loaded correctly, and a solid red dot appears. However, Visual Studio does not break at the breakpoint.

Issue 28

You run a Visual Basic application that contains a Visual Basic Core assembly on an operating system that does not have the Visual Basic runtime. If the application contains a SyncLock statement on a variable of type Object, you may receive an error message that resembles the following:
error BC35000: Requested operation is not available because the runtime library function 'Microsoft.VisualBasic.CompilerServices.ObjectFlowControl.CheckForSyncLockOnValueType' is not defined.

Issue 29

If you run a Visual Basic application that contains a Visual Basic core, the code that uses constants in the Microsoft.VisualBasic.Constants class cannot run correctly. For example, you may receive the following error message when the code is executed:
error BC30059: Constant expression is required.
This problem occurs because the constants are embedded as normal fields instead of as constant fields.

Issue 30

You deploy a .NET Framework 4-based ASP.NET website in a legacy Code Access Security (CAS) mode. You configure the website with a partial trust. When you try to request this website, you may receive the following error message:
[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=, Culture=neutral, PublicKeyToken=<Token ID>’ failed.]

Issue 31

You install the security update that is described in KB974417 when directories in the GAC folder, including the System.EnterpriseServices.dll assembly, are locked or the assembly is being used. In this scenario, the security update installation fails, and the computer becomes corrupted.

For more information about the issue, click the following article number to view the article in the Microsoft Knowledge Base:

2260913 FIX: Updating the .NET Framework may fail and some files in the GAC may be deleted

Issue 32

Some unrestricted asserts from ASP.NET types may bring a risk that a partial-trust user can be elevated as a full-trust user.

Issue 33

The simplified web application paradigm that is called Plan 9 MVC is released more frequently than ASP.NET. However, beginning with version 2, versions are not set as full trust. Therefore, many features that require full trust cannot work correctly.

This update sets the versions of Plan 9 later than version 2 to fully trust.

Issue 34

A constant in a device-level enumeration type in source code differs from that in the specification.

The update keeps the constant in a consistent way.

Issue 35

When you install the security update that is described in the following Knowledge Base article, a Windows Communication Foundation (WCF) service is forcibly closed by the remote host. This problem occurs when the trust level is set to High or to Medium in the Web.config file of the WCF service.
2449742 MS11-NNN: Description of the security update for the Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista SP2 and Windows Server 2008 SP2: February 8, 2011

Features that this update rollup package introduces

This update rollup package introduces the following features that are related to the .NET Framework 4.

Feature 1

This update rollup enables ASP.NET to support multiple IIS configuration systems in a design mode. Therefore, Visual Studio Web Designer supports IIS Express. Additionally, Visual Studio Web Designer lets different Visual Studio Solution projects target different versions of IIS.

Feature 2

When a shadow cache assembly that is turned into a symbolic link to the same file is validated, the size of the assembly is not checked. Therefore, ASP.NET uses Optimization for Shared Web Hosting.

Feature 3

New syntax lets you define a TextBox control that is HTML5 compatible. For example, the following code defines a TextBox control that is HTML5 compatible:
<asp:TextBox runat="server" type="some-HTML5-type" />

Feature 4

A new switch has been added for the Visual Basic compiler that allows libraries to remove their dependency on the Visual Basic runtime. In earlier versions of the .NET Framework, all Visual Basic applications automatically had a runtime dependency added. The dependency was with the Visual Basic Runtime library file, Microsoft.VisualBasic.dll. With this update, a command-line option can be set to remove this dependency. Some functionality of the Visual Basic Runtime is embedded in the application, and other functionality is no longer available when the switch is set.

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.

More Information

Prerequisites for this update

The following list contains the prerequisites for the update:
  • To apply this update, you must have the .NET Framework 4 or the .NET Framework 4 Client Profile installed.
  • To install this update, you must have Windows Installer 3.1 or a later version installed. To obtain the latest version of Windows Installer, visit the following Microsoft website:

Command-line switches for this update

For information about the various command-line switches that are supported by this update, see the following Windows Installer command-line switches document:
227091 Command-Line Switches for the Microsoft Windows Installer Tool

For more information about Windows Installer, visit the following Microsoft Developer Network (MSDN) website:

Restart requirement

This update does not require a system restart after you apply the update unless the files that are being updated are locked or are being used. However, this update restarts all Internet Information Services (IIS)-related services when you install this update.

Update replacement information

This update replaces the following hotfixes:
2183292 FIX: "Failure sending mail" error message when you send an email message by using a .NET Framework 4-based application that uses the "System.Net.Mail.SmtpClient" class if the email attachment is larger than 3 MB

2413613 A shortcut menu may appear far away from the mouse pointer when you run a Windows Presentation Foundation application that is based on the .NET Framework 4

2298853 FIX: Visual Studio 2010 error: "Error 1 error MSB4014: The build stopped unexpectedly because of an internal failure"

2461678 A .NET Framework 4-based WPF application crashes if the source object of a data binding in a control is an element that is defined outside the name scope of the control

Update detection information

The v2 package of this Knowledge Base article creates the same detection keys as the v1 package. This is a known issue for this update. If your application has a dependency on the v2 version of this update, you can check the following registry subkeys, based on the .NET Framework 4 Profile that is installed on your computer. You can then determine whether the v2 version of the KB2468871 update is installed on your computer.

To do this, follow these steps:
  1. Click Start, click Run, type regedit, and then press ENTER.
  2. Locate, and then click one of the following registry subkeys, as appropriate for your operating system and architecture:
    • For all supported x86-based versions of Windows, examine one of the following subkeys:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2468871\
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2468871\
    • For all supported x64-based versions of Windows, examine one of the following subkeys:
      HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Updates\Microsoft .NET Framework 4 Client Profile\KB2468871\
      HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2468871\