Version history of the CLR 2.0
[update 8/10/9 added Windows 7 versions and the post-3.5 SP1 app compat update]
[update 5/11/8 added .NET 3.5 SP1, various hotfixes and additional note about "what is the CLR"]
[update 20/11/7 added .NET 2.0 SP1]
[update 15/11/7 added 4 new recent fixes]
Following on from my post about ASP.NET 2.0 fixes, summarised below are the Common Language Runtime (CLR) 2.0 major releases and hotfixes, in version number order. Additional note (5/11/8): the CLR is not synonymous with the .NET Framework as a whole. The CLR is the core runtime engine, including the JIT compiler, metadata management, threadpool, garbage collector etc. The .NET Framework includes the CLR, the base class libraries (BCL), ASP.NET, WCF, WPF and lots more. The below list only relates to CLR fixes.
ASP.NET is a hungry consumer of the CLR services such as threadpool, garbage collection etc. Therefore many of the problems we see customers experience in production ASP.NET applications are the result of issues in the CLR - many of which we have already fixed. So it is always worth considering what patches you currently have installed when something weird happens.
Please read the caveats at the start of the ASP.NET 2.0 fixes post before proceeding.
As fixes are cumulative, your best bet at the time of writing would be to install MS07-040, a recent security bulletin for the Microsoft .NET Framework 2.0 that includes most of the fixes listed. (Version .832, see below). Make sure you read the known issues links in the KB article for the patch.
Most of the fixes touch a core file set and are therefore cumulative. Some of the fixes listed affect things like ILASM.EXE and therefore do not include previous fixes unless they were for the same file. We always try to minimise the file set affected by any given hotfix.
| Version |
KB |
Description |
| 2.0.50727.4927 |
n/a |
Windows 7 and Windows Server 2008 R2 RTM |
| 2.0.50727.4918 |
n/a |
Windows 7 RC1 |
| 2.0.50727.3082 |
958481 |
List of the issues that are addressed by the Application Compatibility Update for the .NET Framework 2.0 SP2
(on Windows XP, Windows Server 2003 and Windows 2000) |
| 2.0.50727.3074 |
958481 |
List of the issues that are addressed by the Application Compatibility Update for the .NET Framework 2.0 SP2
(on Windows Vista and Windows Server 2008) |
| 2.0.50727.3068 |
957543 |
FIX: An application that serializes and deserializes a generic class that has at least one static member fails on a computer that is running the .NET Framework 3.5 Service Pack 1
|
| 2.0.50727.3068 |
957542 |
FIX: On a computer that is running the .NET Framework 3.5 Service Pack 1, the JIT compiler and the Native Image Generator (Ngen.exe) that use the Mscorjit.dll file may generate incorrect code
|
| 2.0.50727.3068 |
957541 |
FIX: On a computer that has the .NET Framework 3.5 Service Pack 1 installed, an exception is thrown when an application calls the GetOptionalCustomModifiers method or the GetRequiredCustomModifiers method on a ParameterInfo object of a generic interface
|
| 2.0.50727.3053 |
951847 |
Microsoft .NET Framework 3.5 Service Pack 1 |
| 2.0.50727.1852 |
956898 |
FIX: On a computer that is running the .NET Framework 2.0 Service Pack 1, the file name and the line number are not reported as part of an error message if a Visual C# Web site project is in a directory that has a name that contains parentheses
|
| 2.0.50727.1823 |
950986 |
FIX: In the .NET Framework 2.0 Service Pack 1, the ModuleBuilder.GetTypeToken method returns an incorrect token |
| 2.0.50727.1812 |
947148 |
FIX: Incorrect methods are called when you call some COM APIs that are included in a .NET Framework 2.0-based 64-bit application |
| 2.0.50727.1434 |
n/a |
Windows Vista and Windows Server 2008 |
| 2.0.50727.1433 |
945757 |
Microsoft .NET Framework 2.0 SP1 (included with .NET Framework 3.5) |
| 2.0.50727.983 |
946927 |
FIX: An installation may fail with error 1935 when an .msi file tries to install many policy files on a computer that has the .NET Framework 2.0 installed |
|
2.0.50727.939 |
943412 |
You may experience delays when an operating system shuts down if the computer is running a managed service together with the .NET Framework 2.0 |
|
2.0.50727.930 |
942708 |
FIX: You may receive a "SerializationException" exception when you use a class that implements the "INotifyPropertyChanged" interface in an application that is built on the .NET Framework 2.0 |
|
2.0.50727.926 |
942084 |
FIX: Error message if you use the "CspParameters" class to programmatically set a password in an application that is built on the .NET Framework 2.0: "Incorrect PIN" |
|
2.0.50727.926 |
942027 |
FIX: You may notice that the memory load is very high when you run an application that is built on the .NET Framework 2.0 |
| 2.0.50727.915 |
940900 |
FIX: You receive the NullReferenceException exception when you call the String.IsNullOrEmpty function in an application that is built on the .NET Framework 2.0 |
| 2.0.50727.888 |
935904 |
FIX: You receive the System.IndexOutOfRangeException exception error when you use a native image on an x64-based computer in the Microsoft .NET Framework 2.0 |
| 2.0.50727.885 |
937780 |
FIX: Error message when you use a smart card CSP together with the "RSACryptoServiceProvider.SignData" method in the .NET Framework 2.0 |
| 2.0.50727.879 |
936757 |
FIX: A deadlock may occur when two threads call a fusion API to access the same assembly in the .NET Framework 2.0 |
| 2.0.50727.878 |
936798 |
FIX: You may experience slow performance when you call certain X509Certificate2 constructors on a computer that is running the .NET Framework 2.0 |
| 2.0.50727.876 |
936707 |
FIX: A .NET Framework 2.0 managed application that has an Authenticode signature takes longer than usual to start |
| 2.0.50727.873 |
936233 |
FIX: You may not obtain the correct value from the logical operation stack when you use the System.Diagnostics.Trace.CorrelationManager.LogicalOperationStack property in the .NET Framework 2.0 |
| 2.0.50727.832 |
928365 |
Description of the security update for the .NET Framework 2.0 for Windows Server 2003, Windows XP, and Windows 2000: July 10, 2007 |
| 2.0.50727.832 |
929916 |
Description of the security update for the .NET Framework 2.0 for Windows Vista: July 10, 2007 |
| 2.0.50727.827 |
935678 |
FIX: You receive an E_INVALIDARG exception when you call the IDispatchEx::GetDispID method on a managed COM component in the Microsoft .NET Framework 2.0 |
| 2.0.50727.821 |
934334 |
FIX: A memory leak occurs when a managed application uses a platform invoke call to call an unmanaged function in the .NET Framework 2.0 |
| 2.0.50727.821 |
934593 |
FIX: Random values may be written to the float parameters of some functions in a custom application that you create by using the .NET Framework 2.0 |
| 2.0.50727.821 |
934603 |
FIX: A method does not throw a custom exception type in the .NET Framework 2.0 |
| 2.0.50727.796 |
931338 |
FIX: Error message when you use DEVPATH environment variables in a .NET Framework 2.0 ASP.NET Web application: "Could not load file or assembly '<AssemblyName>' or one of its dependencies" |
| 2.0.50727.789 |
930771 |
FIX: The managed heap becomes corrupted when you run a program that is built by using the Microsoft .NET Framework 2.0 |
| 2.0.50727.762 |
|
Microsoft .NET Framework 2.0 included with Windows Vista |
| 2.0.50727.255 |
929688 |
FIX: A NullReferenceException error occurs when you run a .NET Framework 2.0 program |
| 2.0.50727.255 |
929425 |
FIX: A memory leak may occur when you call a C DLL from a C# class that includes strings in the .NET Framework 2.0 |
| 2.0.50727.250 |
929023 |
FIX: A FileNotFoundException exception may occur when you run a .NET Framework 2.0 application that uses no-touch deployment on a Web server that is URL case-sensitive |
| 2.0.50727.248 |
928382 |
FIX: Error message when you use the MSIL Assembler (Ilasm.exe) to compile a Visual Studio project: "Invalid TypeDefID of exported type" |
| 2.0.50727.247 |
928870 |
FIX: An exception is not handled correctly when you use a try-catch block to handle an exception from multi-threads in the .NET Framework 2.0 |
| 2.0.50727.241 |
926997 |
FIX: Error message when a COM client calls a managed COM component to expose events in the .NET Framework 2.0: "0x80040201 - An event was unable to invoke any of the subscribers" |
| 2.0.50727.238 |
928569 |
FIX: The first CLR thread pool worker thread is never initialized for COM+ in an ASP.NET Web application that is configured to run under the .NET Framework 2.0 |
| 2.0.50727.236 |
926595 |
FIX: Server garbage collector threads may enter an endless loop condition in the .NET Framework 2.0 |
| 2.0.50727.235 |
926776 |
A hotfix rollup package is available that resolves the problems that are described in KB articles 913297, 913393, 918995, and 924895 |
| 2.0.50727.232 |
927146 |
FIX: A .NET Framework 2.0-based application may experience an ArgumentNullException exception and may exit unexpectedly |
| 2.0.50727.229 |
926660 |
FIX: Error message when you run an application in the .NET Framework 2.0: "System.IO.FileNotFoundException" |
| 2.0.50727.226 |
926594 |
FIX: The ThreadPoolMgr::WorkerThreadStart process may become locked in a loop condition in a .NET Framework 2.0-based application, and CPU utilization may increase to 100 percent |
| 2.0.50727.226 |
926596 |
FIX: A Microsoft .NET Framework 2.0-based application may crash during the garbage collection process when you use the Native Image Generator tool and a generic method |
| 2.0.50727.208 |
924895 |
FIX: An application that is based on the .NET Framework 2.0 may crash unexpectedly |
| 2.0.50727.201 |
923781 |
FIX: You may encounter a System.NullReferenceException exception when you call a COM interface method in the .NET Framework 2.0 |
| 2.0.50727.198 |
924289 |
FIX: The application process may unexpectedly stop when you run a managed application that is based on the .NET Framework 2.0, or the server may shut down when you run managed code in SQL Server 2005 |
| 2.0.50727.190 |
923326 |
FIX: The call stack is missing frames when you debug a .NET Framework 2.0 application that uses COM interoperability |
| 2.0.50727.187 |
923319 |
FIX: Error message when you compile MSIL code into an executable program in the .NET Framework 2.0: "IndexOutOfRangeException" |
| 2.0.50727.187 |
923325 |
FIX: When you use the Native Image Generator (Ngen.exe) in the .NET Framework 2.0, the size of the stack frames increases significantly |
| 2.0.50727.186 |
923299 |
FIX: Sos.dll leaks memory when you use an external debugger tool to debug an application in the .NET Framework 2.0 |
| 2.0.50727.168 |
921118 |
FIX: Error message when you try to compile a large intermediate language file by using the Ilasm.exe tool in the .NET Framework 2.0: "Duplicate global label '_MF_LIT_530223'" |
| 2.0.50727.166 |
917868 |
FIX: An exception is not raised to the managed caller when you implement a custom marshaler in a .NET Framework 2.0 application |
| 2.0.50727.166 |
918426 |
FIX: A Visual C# 2005 project may take significantly longer to compile after you port the project from Visual C# .NET 2003 |
| 2.0.50727.166 |
921217 |
FIX: A deadlock may occur when you use COM interop cross-context interface marshaling in the .NET Framework 2.0 |
| 2.0.50727.158 |
919514 |
FIX: When you use the MSIL Assembler in the .NET Framework 2.0 to generate a PE file from the MSIL code, the PE file may close unexpectedly, and you may receive an access violation error message |
| 2.0.50727.109 |
918642 |
FIX: A .NET Framework 2.0-based application may require read/write permissions to a registry key even though the application only has to read the registry key |
| 2.0.50727.104 |
918254 |
FIX: A .NET Framework 2.0-based application may not be able to associate a private key with an X509Cetificate2 object |
| 2.0.50727.103 |
917507 |
FIX: JIT compilation may take much longer when you run a .NET Framework 2.0 application on a 64-bit computer |
| 2.0.50727.101 |
918102 |
FIX: The common language runtime throws ThreadAbortException exceptions when you call the Thread.Abort method to stop an ASP.NET request in the .NET Framework 2.0 |
| 2.0.50727.100 |
917559 |
FIX: The debugger moves to the next .line directive when you set a breakpoint on a statement and the statement is related to a .line directive that does not contain a column range in the .NET Framework 2.0 |
| 2.0.50727.98 |
917882 |
FIX: A synchronized method that has security callouts may not save a return value after control returns to the calling function in an application that is built by using the 64-bit version of the .NET Framework 2.0 |
| 2.0.50727.94 |
917495 |
FIX: You may receive an OutOfMemoryException exception when you run a .NET Framework 2.0-based application |
| 2.0.50727.94 |
917493 |
FIX: Internet Explorer may freeze when you click a link to start a .NET Framework 2.0 client application in Internet Explorer and another file download is already in progress |
| 2.0.50727.87 |
915430 |
FIX: Not all paths that are specified in the DEVPATH environment variable will be considered by the .NET binding infrastructure (fusion) in the .NET Framework 2.0 |
| 2.0.50727.87 |
917316 |
FIX: A regeneration of the 32nd Ngen image may not trigger a recompilation of the Ngen image when you use the Native Image Generator in managed code on a computer that is running the .NET Framework 2.0 |
| 2.0.50727.86 |
915980 |
FIX: You may receive a "security exception" error message on a Windows 2000-based or Windows Server 2003-based computer that is running an ASP.NET 2.0-based application |
| 2.0.50727.86 |
915980 |
FIX: You may receive a "security exception" error message on a Windows 2000-based or Windows Server 2003-based computer that is running an ASP.NET 2.0-based application |
| 2.0.50727.74 |
915088 |
FIX: The .NET Framework 2.0 Thread.IsThreadPoolThread property always returns a value of false, and the SQL Server 2005 Reporting Services log file grows uncontrollably |
| 2.0.50727.71 |
913469 |
FIX: An application that is built on the Microsoft .NET Framework 2.0 may stop responding when you run the application on a 64-bit computer |
| 2.0.50727.63 |
913384 |
FIX: A .NET Framework 2.0 application that runs under a user account context when no user profile is associated with the user account context may crash, or you may receive an access violation error message |
| 2.0.50727.63 |
913382 |
FIX: Windows Error Reporting crashes when the Sos.dll file is loaded in memory in the .NET Framework 2.0 |
| 2.0.50727.56 |
912891 |
FIX: When you run a 64-bit application that was built by using the .NET Framework, you may notice that the application uses more memory than a similar 32-bit application |
| 2.0.50727.52 |
912365 |
FIX: An assembly that uses the System.Data.SqlXml namespace may be dynamically rebased and reloaded after you use the Native Image Generator (Ngen.exe) tool in the .NET Framework 2.0 |
| 2.0.50727.42 |
|
Microsoft .NET Framework 2.0 |
That's it for now!
Doug