Version history of the CLR 2.0


[update 13/3/12 – added 5719]
[update Oct & Nov 2011 – various additions as I find them]
[update 23/9/11 added MS11-044 and MS11-028]
[update 31/5/11 added .5669]
[update 7/4/11 added a load of fixes that I didn’t have listed]
[update 29/12/9 added lots of post SP2 hotfixes, MS09-061 versions and added the note on dual-branch servicing]
[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.

Following .NET Framework 2.0 SP2, the capability for .NET Framework 2.0 fix packages to carry two different types of fix was introduced. This is referred to as dual branch servicing and is described in this article:

Dual Branch Servicing for the .NET Framework 2.0 Service Pack 2, the .NET Framework 3.0 Service Pack 2, and the .NET Framework 3.5 Service Pack 1

The first occasion I am aware of this capability actually being used is in the MS09-061 release. Therefore it is no longer the case that if the version of mscorwks.dll that you have on your system is higher than the one mentioned in a particular hotfix article that you automatically have the fix described in that article. It depends on what you had on your system prior to installing the dual-branch hotfix package. If you already had a hotfix version of those files installed you would get the LDR version. If you didn’t then you would get the GDR version.

 

Version
2.0.50727.
xxxx
KB Description
5719 2669522 FIX: Access violation when you use the ICryptoTransform.TransformFinalBlock API to perform a cryptographic operation in a .NET Framework 3.5-based application
5692 2598773 FIX: “Fatal Execution Engine Error” when you call the String.EndWith method in the .NET Framework 2.0 if the string parameter of the method begins with an expansion character
5681 2572075 MS11-078: Description of the security update for the .NET Framework 2.0 SP2 for Windows Vista SP2 and Windows Server 2008 SP2: October 11, 2011
(LDR Version)
5669 2545756 FIX: New Rupee symbol is not displayed when you run a .NET Framework 2.0-based application to obtain the symbol if the user locale is not an Indian locale
5662 2518864

2518869
MS11-044: Description of the security update for the .NET Framework 3.5 Service Pack 1 and .NET Framework 2.0 Service Pack 2 on Windows XP Service Pack 3 and on Windows Server 2003 Service Pack 2: June 14, 2011

and

MS11-044: Description of the security update for the .NET Framework 3.5.1 on Windows 7 Service Pack 1 and on Windows Server 2008 R2 Service Pack 1: June 14, 2011

(LDR version)
5656 2504603 FIX: SQL Server process that uses the.NET Framework 2.0 does not make any progress during a garbage collection while CPU usage is high
5653 2446704 MS11-028: Description of the security update for the .NET Framework 3.5 Service Pack 1 and the .NET Framework 2.0 Service Pack 2 on Windows Server 2003 and Windows XP: April 12, 2011
(LDR version)
5651 2315412 FIX: Access violation may occur when you run a .NET Framework 2.0 SP2-based application that calls a mixed assembly that is domain-neutral
5446 2518869 MS11-044: Description of the security update for the .NET Framework 3.5.1 on Windows 7 Service Pack 1 and on Windows Server 2008 R2 Service Pack 1: June 14, 2011
(GDR version on Windows 7 SP1 and Windows Server 2008 R2 SP1)
5444 2446710 MS11-028: Description of the security update for the .NET Framework 3.5.1 on Windows 7 Service Pack 1 and on Windows Server 2008 R2 Service Pack 1: April 12, 2011
(GDR version)
5066 2461007 System.ObjectDisposedException may occur when you run a .NET Framework 2.0-based application on a server that has the Chinese (Simplified) or Chinese (Traditional) language pack installed
5060 2450950 Error 0x80070002 in the CoCreateInstance function when you use registration-free COM activation to load a COM object in a .NET Framework 2.0 SP2-based or .NET Framework 3.5 SP1- based application
5058 2260913 FIX: Updating the .NET Framework may fail and some files in the GAC may be deleted
5021 2282372 “Loading this assembly would produce a different grant set from other instances” error message when you run a .NET Framework 2.0-based application on a computer that is running a 64-bit version of Windows
5018 983590 MS10-060: Description of the security update for the Microsoft .NET Framework 3.5 in Windows 7 and in Windows Server 2008 R2: August 10, 2010
(LDR Version)
5008
(download)
981574 The splash screen stays open longer than usual when you try to start Excel on a computer that has the .NET Framework 3.5 SP1 installed
4952 983590 MS10-060: Description of the security update for the Microsoft .NET Framework 3.5 in Windows 7 and in Windows Server 2008 R2: August 10, 2010
(GDR Version)
4927 n/a Windows 7 and Windows Server 2008 R2 RTM
4918 n/a Windows 7 RC1
4474 2276255 FIX: An application that is based on the .NET Framework 2.0 stops responding on a computer that has more than 32 processors, and the .NET Framework 2.0 Service Pack 2 or the .NET Framework 3.5 Service Pack 1 is installed
4455 983583 MS10-060: Description of the security update for the .NET Framework 3.5 Service Pack 1 and .NET Framework 2.0 Service Pack 2 on Windows Server 2003 and Windows XP: August 10, 2010
(LDR Version)
4454 983589 MS10-060: Description of the security update for the .NET Framework 2.0 Service Pack 2 and the .NET Framework 3.5 Service Pack 1 on Windows Vista Service Pack 2 and on Windows Server 2008 Service Pack 2: August 10, 2010
4448 981266 Referenced assemblies of a .NET Framework 2.0-based 32-bit application are loaded multiple times
4447 982318 FIX: A .NET Framework 2.0-based application that uses Remoting objects crashes and closes unexpectedly
4446 981878 FIX: A dump file is not generated for a .NET Framework 2.0-based application after the application closes
4431
(download)
979744 A .NET Framework 2.0-based Multi-AppDomain application stops responding when you run the application
4428 978254 FIX: The CLR cannot start the Dr. Watson tool to report errors or to generate dump files when a .NET Framework 2.0-based application process runs in an impersonated user context
4428 978249 FIX: You receive a FatalExecutionEngineError exception when a domain neutral assembly is unloaded and a debugger that uses Just My Code detaches from a .NET Framework 2.0-based process
4417 976898 FIX: After you use the ThreadPool.SetMinThreads method in the Microsoft .NET Framework 3.5, threads maintained by the thread pool do not work as expected
4413 976569 Description of the .NET Framework 2.0 SP2 forward compatibility update for Windows XP and for Windows Server 2003
4408
(download)
975954 FIX: When you run a .NET Framework 2.0-based application, a System.AccessViolationException exception occurs, or a dead-lock occurs on two threads in an application domain
4400 974470 MS09-061: Description of the security update for the Microsoft .NET Framework 2.0 Service Pack 2 on Windows Vista Service Pack 2 and Windows Server 2008 Service Pack 2: October 13, 2009
4216 2572075 MS11-078: Description of the security update for the .NET Framework 2.0 SP2 for Windows Vista SP2 and Windows Server 2008 SP2: October 11, 2011
(GDR Version)
4214 2518866 MS11-044: Description of the security update for the .NET Framework 3.5 Service Pack 1, Windows Vista Service Pack 2 and Windows Server 2008 Service Pack 2: June 14, 2011
(GDR Version)
4206 983589 MS10-060: Description of the security update for the .NET Framework 2.0 Service Pack 2 and the .NET Framework 3.5 Service Pack 1 on Windows Vista Service Pack 2 and on Windows Server 2008 Service Pack 2: August 10, 2010
(GDR Version)
4200 974470 MS09-061: Description of the security update for the Microsoft .NET Framework 2.0 Service Pack 2 on Windows Vista Service Pack 2 and Windows Server 2008 Service Pack 2: October 13, 2009
4062 974417 MS09-061: Description of the security update for the Microsoft .NET Framework 2.0 Service Pack 2 and the Microsoft .NET Framework 3.5 Service Pack 1: October 13, 2009
(LDR version)
4062 974065 FIX: A System.InsufficientMemoryException exception occurs when you are running a .NET Framework 2.0-based application
4062 974372 FIX: The top of the call stack shows the mscorwks!WKS::gc_heap::mark_object_simple function after an exception occurs in a .NET Framework 2.0-based application
4060 974168 FIX: An access violation occurs when you pass structs as parameters through remoting or reflection in 64-bit applications in the .NET Framework 3.5 SP1 or the .NET Framework 2.0 SP2
4051 972259 FIX: The threads of a .NET Framework 2.0 SP2-based program pause for a very long time when concurrent garbage collection is enabled
4051 972848 FIX: A minidump file generation is slow and the size of the file is larger than expected when the information that the file collects is not of the MiniDumpWithFullMemory type in the .NET Framework 2.0
4044 970924 FIX: The performance of applications that use the CreateType method decrease as you add more type objects to a dynamic assembly module in the .NET Framework 2.0 SP2
4043 971988 FIX: The CPU usage increases significantly when you run a .NET Framework 2.0-based Multi-AppDomain application that uses objects whose finalizers start ThreadPool methods
4036 971030 FIX: An access violation occurs when you run a .NET Framework 2.0-based application that has a virtual call the IList<T>, IEnumerable<T>, or ICollection<T> interface in an LCG method
4034 970510 FIX: A TypeLoadException exception occurs when you run a .NET Framework 3.5 SP1-based application
4022 968760 A managed application has a high number of thread handles and of event handles in the Microsoft .NET Framework 2.0
4018 968249 FIX: An incorrect instance size is generated when you use the Type Library Exporter to generate a type library from a CLR assembly in the .NET Framework 2.0 Service Pack 2
4016 967812 A hotfix is available that updates some properties in the System.Globalization.RegionInfo class for Slovakia, for Slovenia, and for Turkey
4013 967615 FIX: A .NET Framework 2.0 SP2-based application or a .NET Framework 3.5 SP1-based application does not correctly dispose of safe handle objects that were created by the WindowsIdentity object
4005 963676 FIX: The CLR fails with a fatal execution engine error, and a crash occurs when you run an application by using the .NET Framework 2.0 Service Pack 2
4001 961881 FIX: An access violation occurs when you start an application that runs on the CLR
4001 961870 FIX: A memory leak occurs when you run an application that requires the CLR to load a mixed-mode assembly in the .NET Framework 2.0 Service Pack 2
4001 961885 FIX: You receive an Access Violation error when you run a CLR application that calls the XslCompiledTransform.Transform method
3623
Comments (37)

  1. dougste says:

    Thanks Aaron (of ‘This Old Code’), you’re welcome!

    As an escalation engineer in Microsoft’s support organisation it’s part of my role to provide technical detail to go into the hotfix articles.  There are others involved in the publication process so I do not always have complete control over the final wording that appears but I certainly appreciate the need to make articles as useful as possible.

    Thanks for the feedback!

    Doug

  2. Know your CLR 2.0 versions

  3. CoqBlog says:

    Ca, ça peut être très pratique : Notes from a dark corner : Version history of the CLR 2.0 Une historique

  4. This is a number that is going to become very familiar to me over the coming months and probably years.

  5. This is a number that is going to become very familiar to me over the coming months and probably years

  6. jesperjfj says:

    Hi Doug

    We have received a report where our product was running in .Net 3.0 mode, but where .Net 3.5 had been installed. I can see that this changes the version of aspnet_wp.exe to .1433. The worker process died and left this clue in the event log. It is reproducible. How do we best address this quite fatal error?

    Best regards

    Jesper Jørgensen, Sitecore

    Faulting application aspnet_wp.exe, version 2.0.50727.1433, stamp 471ebf4c, faulting module kernel32.dll, version 5.1.2600.3119, stamp 46239c31, debug? 0, fault address 0x00012a5b.

    aspnet_wp.exe  (PID: 1620) stoppede uventet.Yderligere oplysninger finder du under Hjælp og support på

  7. dougste says:

    Hi Jesper

    One option is to raise an assisted support case with Microsoft support. We have a bunch of talented support engineers ready to assist troubleshoot such issues with you. If it turns out to be due to a Microsoft bug there is no charge. And maybe you already have a support contract with us or support incidents available through an MSDN subscription or through having Partner status?

    The other option is to DIY debug it. Grab a memory dump at process shutdown and then use the debugging tools to figure out what happened.

    My colleague Tess has a very details blog showing how to do this kind of debugging. See the first link under "Blog I recommend" above left.

    Regards

    Doug

  8. james_buddell@hotmail.com says:

    Very useful list, thank you!. Just found one extra version that’s not covered, see: http://support.microsoft.com/kb/923028

  9. abfo says:

    Any plans to update this invaluable list? I’m trying to hunt down version 4903 at the moment. I’ve found 3521 in Win 7 Beta and 4918 in Win 7 RC 1.

  10. dougste says:

    Yes, this list is overdue for an update. I will try to do it soon.  

    4903 is a strange number. Looks to high to be any official hotfix release and I am not aware of any beta release that would include that.

    Doug

  11. Reg says:

    An update would be most appreciated.  I have Win7 RC1 with 4918, but am looking for 4927.

  12. dougste says:

    4927 is the Windows 7 and Windows Server 2008 R2 version.

    I’ve just made a minor update. A major update is long overdue and I am working on it.

    Thanks

    Doug

  13. dougste says:

    Finally, managed a major update. Sorry for the long delay. Doug.

  14. Thomas says:

    I saw 3607 somewhere (I even have the DLL), which is missing in your list. I’m not able to say what KB number it belongs to.

    This is the detail:

    2.0.50727.3607 (GDR.050727-3600), File size: 989.000 Bytes

  15. Paul Williams says:

    Thank you for updating this post!

    Like Thomas, I just got a dump that had mscorwks.dll version 2.0.50727.3607 (GDR.050727-3600) Date: Tue Oct 20 01:10:14 2009 (4ADD5446) Size: 5,832,704.

  16. dougste says:

    Thanks for the feedback Thomas and Paul. I’ve added 3607 which is the GDR (General Distribution Release) version of http://support.microsoft.com/kb/976569.

    GDR version is what you get if you’ve never installed a CLR hotfix but go to Windows Update and there is an update available for the CLR there.

    Doug

  17. Thomas says:

    Version 2.0.50727.3615 = Security update KB983582

  18. dougste says:

    Thanks Thomas. I've now added all the versions relating to MS10-060 (hopefully!)..Doug

  19. Andre Ziegler says:

    2.0.50727.5669 = support.microsoft.com/…/2545756 (New Rupee symbol is not displayed when you run a .NET Framework 2.0-based application to obtain the symbol if the user locale is not an Indian local)

  20. dougste says:

    Thanks Andre – I've now added 5669

  21. JR says:

    .NET Runtime version 2.0.50727.3623 – Fatal Execution Engine Error (7A05ADE0) (80131506)

    No version available for this, can someone add it?

  22. dougste says:

    Hi JR, 3623 is the GDR binary from security update MS11-044. I've now added it, along with the LDR binaries from that update. I've also added LDR and GDR versions for MS11-028.

    Thanks for the feedback!

    Keep it coming folks

    @dougste

  23. Andre Ziegler says:

    2.0.50727.5692 = support.microsoft.com/…/en-us ("Fatal Execution Engine Error" when you call the String.EndWith method in the .NET Framework 2.0 if the string parameter of the method begins with an expansion character

  24. dougste says:

    Thank you Andre, I've added that one.

  25. Andre Ziegler says:

    New hotfix:

    2.0.50727.5719 = KB2669522 – FIX: Access violation when you use the ICryptoTransform.TransformFinalBlock API to perform a cryptographic operation in a .NET Framework 3.5-based application

  26. dougste says:

    Thanks again Andre, 5719 added

  27. alonesword says:

    great job and useful idea.

    pls 2.0.50727.5448 is missing?

  28. Andre Ziegler says:

    New updates:

    2.0.50727.5723 = KB2688730

    Hotfix Rollup 2688730 is available for the .NET Framework 2.0 SP2 on Windows 7 SP1 or on Windows Server 2008 R2 SP1

    and KB2688027

    Hotfix Rollup 2688027 is available for the .NET Framework 2.0 SP2 on Windows Vista SP2 or Windows Server 2008 SP2

    and KB2688737

    Hotfix Rollup 2688737 is available for the .NET Framework 2.0 SP2 on Windows XP SP3 or on Windows Server 2003 SP2

  29. dougste says:

    Thanks Andre and alonesword. Will get these added. Currently trying to redesign the format similar to what I did for the CLR 4.0 fix list. Will try to publish soon

  30. Andre Ziegler says:

    New updates which update CLR to 2.0.50727.5733 (same update but 3 KBs for each platform)

    Hotfix Rollup 2733946 is available for the .NET Framework 2.0 SP2 on Windows Vista SP2 and on Windows Server 2008 SP2

    support.microsoft.com/…/en-us

    Hotfix Rollup 2733947 is available for the .NET Framework 2.0 SP2 on Windows 7 SP1 and on Windows Server 2008 R2 SP1

    support.microsoft.com/…/en-us

    Hotfix Rollup 2733948 is available for the .NET Framework 2.0 SP2 on Windows XP SP3 and on Windows Server 2003 SP2

    support.microsoft.com/…/en-us

  31. Andre Ziegler says:

    New updates which update the CLr 2.0 to Version 2.0.50727.7017

    Hotfix rollup 2803752 is available for the .NET Framework 2.0 SP2 in Windows 7 SP1

    support.microsoft.com/…/en-us

    Hotfix rollup 2803751 is available for the .NET Framework 2.0 SP2 in Windows Server 2003 SP2 and Windows XP SP3

    support.microsoft.com/…/en-us

    Hotfix rollup 2803756 is available for the .NET Framework 2.0 SP2 in Windows 8 and Windows Server 2012

    support.microsoft.com/…/en-us

  32. Andre Ziegler says:

    New updates which update the CLr 2.0 to Version 2.0.50727.7017

    Hotfix rollup 2803752 is available for the .NET Framework 2.0 SP2 in Windows 7 SP1

    support.microsoft.com/…/en-us

    Hotfix rollup 2803751 is available for the .NET Framework 2.0 SP2 in Windows Server 2003 SP2 and Windows XP SP3

    support.microsoft.com/…/en-us

    Hotfix rollup 2803756 is available for the .NET Framework 2.0 SP2 in Windows 8 and Windows Server 2012

    support.microsoft.com/…/en-us

  33. Andre Ziegler says:

    Here is the missing Vista update of CLR 2.0 7017:

    Hotfix rollup 2803753 is available for the .NET Framework 2.0 SP2 in Windows Server 2008 SP2 and Windows Vista SP2

    support.microsoft.com/…/en-us

  34. Paul F. Williams says:

    Thank you for compiling this list.  I have bookmarked it and reference it occasionally when diagnosing customer issues.

    I noticed the hotfix in the KB article below is not included.  I believe this version would be 2.0.50727.4253:

    support.microsoft.com/…/2497453

  35. dougste says:

    Thanks Paul. Glad the list is useful. It has, unfortunately, grown a bit out of date. I keep meaning to try and update it.  The list is quite narrowly scoped to fixes shipping the core CLR file set and most fixes touching System.dll (like 2497453) have not shipped the CLR core files.  Having said that, with the dual branch servicing model, as soon as you install a .NET hotfix it will "flip" your .NET install to LDR mode rather than GDR mode and so you may find yourself running an LDR CLR after installing 2497453 even though it does not ship one, if that makes sense?