Microsoft .NET Framework 4.8 is a runtime execution environment that manages applications targeted the .NET Framework. It consists of the common language runtime, which provides memory management and other system services. Also an extensive class library, which enables programmers to take advantage of robust, reliable code for all major areas of app development.
This redistributable package installs the .NET Framework runtime and associated files required to run applications developed to target the .NET Framework.
The Microsoft .NET Framework 4.8 is a highly compatible, in-place update to the Microsoft .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 and 4.7.2. The offline package can be used in situations where the web installer cannot be used due to lack of internet connectivity.
The .NET Framework is a managed execution environment that provides a variety of services to its running applications. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running applications. And the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own applications.
Microsoft .NET Framework provides services:
- Memory management. In many programming languages, programmers are responsible for allocating and releasing memory and for handling object lifetimes. In .NET Framework applications, the CLR provides these services on behalf of the application.
- A common type system. In traditional programming languages, basic types are defined by the compiler, which complicates cross-language interoperability. In the .NET Framework, basic types are defined by the type system and are common to all languages that target the .NET Framework.
- An extensive class library. Instead of having to write vast amounts of code to handle common low-level programming operations, programmers can use a readily accessible library of types and their members from the .NET Framework Class Library.
- Development frameworks and technologies. The .NET Framework includes libraries for specific areas of application development. ASP.NET for web applications. ADO.NET for data access. Windows Communication Foundation for service-oriented applications.
- Language interoperability. With this feature, routines written in one language are accessible to other languages. And programmers can focus on creating applications in their preferred language or languages.
- Version compatibility. With rare exceptions, applications that are developed by using a particular version of the .NET Framework can run without modification on a later version.
- Side-by-side execution. The .NET Framework helps resolve version conflicts by allowing multiple versions of the common language runtime to exist on the same PC.
- Multitargeting. By targeting the .NET Framework Portable Class Library, developers can create assemblies that work on multiple .NET Framework platforms.
.NET Framework release notes describe product improvements grouped by product area. Each change includes a Microsoft-internal VSTS bug ID, the primary binary that was updated and whether the change was a bug or a feature.
- Fix handling of InputAttributes and LabelAttributes for ASP.NET CheckBox control. [643614, System.Web.dll, Bug, Build:3646]
- Fixed a perf issue in HttpApplication instances pool in HttpApplicationFactory class. [639421, system.web.dll, Bug, Build:3673]
- Fixed NullReferenceException thrown from the page/control with only parameterized constructors with default values when targeting 4.7.2 [635479, System.Web.dll, Bug, Build:3673]
- Fixed an issue with ValidationContext.MemberName when using custom DataAnnotation.ValidationAttribute. [563497, System.web.dll, Bug, Build:3694]
- Fixed ArgumentOutOfRangeException in MemoryCache when using change monitors with non-existent files east of GMT. [684136, System.Web.dll, Bug, Build:3694]
- Fix handling of multi-value HTTP headers that may affect multipart data processing. [684397, System.Web.dll, Bug, Build:3694]
- Fixed handling of multi-value HTTP headers that may affect multipart data processing. [726155, System.Web.dll, Bug, Build:3734]
- For client applications (winforms, WPF, or console apps, etc) the ASP.NET Client Application Services API’s have been hardened against potentially malicious JSON payloads. [727703, System.Web.dll, Bug, Build:3734]
- Fixed an issue introduced in ASP.NET 4.7, where the unexpected removal of a particular type of cache item can result in an orphaned *.delete file that prevents web applications from running. [750653, System.Web.dll, Bug, Build:3734]
- Fixed deserialization of Collections which uses culture aware StringComparer. [566534, mscorlib.dll, Bug, Build:3621]
- Fixed System.Runtime.CompilerServices.RuntimeFeature.IsSupported to correctly account for application compatibility quirk settings for the Portable PDB feature introduced in .NET Framework 4.7.1. [571206, mscorlib.dll, Bug, Build:3621]
- Fixed the exception by parsing Japanese dates that have the year number exceeding the number of years in that date era. The behavior change will be noticed only if someone tries to parse a date containing some era and year while the year exceeds the last year in that era. [590659, mscorlib.dll, Bug, Build:3621]
- By default, elevated processes will not read HKCU for managed COM activation information. [592187, clr.dll, Bug, Build:3621]
- Fixed the serialization compatibility issue for CultureAwareComparer class. [621387, mscorlib.dll , Bug, Build:3632]
- Upgraded the System.IO.Compression zlib (inside clrcompression.dll) to the latest zlib version 1.2.11 [532490, clrcompression.dll, Bug, Build:3646]
- Fixed by reducing memory allocations in hashing with the CAPI classes (SHA256CryptoServiceProvider, et al) [548940, System.Core.dll, Bug, Build:3646]
- Fixed by reducing memory allocations in hashing with the CNG classes (SHA256Cng, et al) [548941, System.Core.dll, Bug, Build:3646]
- Fixed the issue of System.DateTime returning the wrong time after Windows processes a leap second, by following changes: DateTime and DateTimeOffset will work with the leaps seconds reported by Windows RS5 systems. DateTime.Now and DateTime.UtcNow will always be synchronized with the system time. DateTime and DateTimeOffset will never report the leap second as value 60, instead, it’ll always report it as 59. DateTime and DateTimeOffset operations will continue to work as it used to work, i.e. internally always handle the minutes as 60 seconds which make it compatible with the down levels platforms. [641206, mscorlib.dll, clr.dll, Bug, Build:3646]
- Fixed WCF de-serialization failure issue of CultureAwareComparer object. Fixed the issue where Applications using WCF to communicate with web services or applications using data contract serialization directly, were experiencing failures to deserialize the CultureAwareComparer object. [645084, mscorlib.dll, Bug, Build:3646]
- Reduced the impact of the “FIPS mode” bit being set in the OS [653796, mscorlib.dll;System.Core.dll, Bug, Build:3646]
- Changed default content encryption algorithm of EnvelopedCms to AES. [656518, System.Security.dll, Bug, Build:3646]
- Fixed GetECDsaPublicKey to work with brainpool curves. [586452, System.Core.dll, Bug, Build:3673]
- Reduced the number of object finalizations that occur as a result of using X509Certificate2 and related types. [654137, mscorlib.dll, System.dll, System.Security.dll, Bug, Build:3673]
- Fixed formatting of Japanese date with year 1 (as first year of any era), the date will be formatted using 元 character and not year number “1”. Example of the new formatted date behavior: 平成元年11月21日compared to old formatted date behavior 平成1年11月21日 [670097, mscorlib.dll, Bug, Build:3673]
- Fixed default settings used by RsaProtectedConfigurationProvider (use AES instead of 3DES, RSA is now using 2048bit key, OAEP is on by default), fixed encryption with OAEP so that it writes correct metadata. [549418, System.Configuration.dll, Bug, Build:3694]
- Add API to obtain certificate thumbprints with a caller-specified digest algorithm. [700365, mscorlib.dll, Feature, Build:3694]
- Fixed an IndexOutOfRangeException thrown when asynchronously reading a process output with less than a character’s worth of bytes is read at the beginning of a line. [724219, System.dll, Bug, Build:3707]
- Mitigate compatibility breaks seen in some System.Data.SqlClient usage scenarios. [727701, System.Configuration.dll, Bug, Build:3707]
- Fixed a serialization exception that occurred when a huge amount of objects were serialized with BinaryFormatter. [761576, mscorlib.dll, Bug, Build:3734] Added support for formatting the Japanese first year of era using Gannen 元 when the date pattern not having single quotes around 年. e.g. y年. [777279, mscorlib.dll, Bug, Build:3745]
- Fixed Clickonce UI dialogs on high Dpi machines with scale set to more than 100% for both new and existing applications which scale upto 300%. In the scenario where user wants to see legacy images, there is an opt out switch “Switch.System.Windows.Forms.UseLegacyImages” that can be set to “true” in dfsvc.exe.config file. [389534, Microsoft.Build.Tasks.v4.0.dll, Bug, Build:3621]
- Fixed Mage so it can properly update the identity of dependent assemblies in ClickOnce application manifests. [534286, Microsoft.Build.Tasks.v4.0.dll, Bug, Build:3621]
- Fixed ClickOnce dialogs (Splash screen, Install progress dialog, Maintenance dialog and Update dialog) have accessibility issues as mentioned in this bug. Fix is for realigning control indices and setting accessible names where it was missing. [541886, Microsoft.Build.Tasks.v4.0.dll, Bug, Build:3621]
- Fixed progress bar alignment from Right to Left in Splash Screen and Download progress dialog for ARA & HEB languages for ClickOnce UI. Fixed RTL layout in the ClickOnce dialogs. Individual controls are to be set in RTL layout as this property is not propagated. Set this property explicitly on progress bar control. [552893, Microsoft.Build.Tasks.v4.0.dll, Bug, Build:3621]
- Fixed LoadFrom(String, Byte, AssemblyHashAlgorithm) works with SHA2 algorithms. [229901, mscorlib.dll, Bug, Build:3621]
- Reduced AsyncLocal memory overhead on value change. [470761, mscorlib.dll, Bug, Build:3621]
- Improved spin-waits in several synchronization primitives to perform better on Intel Skylake and more recent microarchitectures. [495945, mscorlib.dll, Bug, Build:3621]
- Fixed issues where incorrect values are sent to EventListeners. This includes incorrect activity ids on start and stop events and improper EventLevel values. [581072, mscorlib.dll, Bug, Build:3621]
- Fixed a potential crash with concurrent calls to a new dynamic method. [581154, mscorlib.dll, Bug, Build:3621]
- Fixed a possible deadlock when calling Dispose() on an EventSource. [597221, System.Core.dll, Bug, Build:3621]
- The ‘shadowCopyVerifyByTimestamp’ setting is now configurable for individual appdomains, as opposed to being a process wide setting. This helps in situations where you may not be the host process, but want to configure a new appdomain that verifys timestamps when shadow copying. [565570, clr.dll, Bug, Build:3632]
- Addressed the issue where the JIT compiler optimized away a call to the CompareExchange intrinsic operation under specific conditions [638227, clrjit.dll, Bug, Build:3646]
- CLR COM no longer returns E_INVALIDARG when marshalling a byref SafeArray from an Event Handler. [239541, WindowsBase.dll, Bug, Build:3673]
- Fixed a potential hang when a blocking GC is induced in low memory situations [374828, clr.dll, Bug, Build:3673]
- If you are using Server GC on a Skylake or later machine, you might notice that clr!SVR::t_join::join is taking a lot more CPU cycles. This is because clr!SVR::t_join::join uses the PAUSE instruction which takes a lot longer on Skylake+. This fix scales down the number of times it’s called when running on Skylake+ machine. [683269, clr.dll, Bug, Build:3673]
- Fixed an issue with the GC where frequent LOH under high memory pressure may result in premature OOM errors. [657730, clr.dll, Bug, Build:3694]
- Process corrupting exceptions in exception filter (like access violation) now result in aborting the current process. [110375, clr.dll, Bug, Build:3694]
- .NET now integrates with antimalware providers to scan assemblies loaded from byte arrays. [576558, clr.dll, Feature, Build:3694]
- Fixed an issue with missing Win32 resources in ReadyToRun images. [624174, crossgen.exe, Bug, Build:3694]
- Fixed an issue with ngen createpdb where passing in a long output folder could cause a crash. [627712, ngen.exe, Bug, Build:3694]
- Fixed a crossgen failure when compiling assemblies with no Win32 resources into ReadyToRun images. [722265, coreclr.dll, Bug, Build:3694]
- Fixed ability to handle process corrupted state exceptions stemming from Marshal.PtrToStructure on x86. [381677, clr.dll, Bug, Build:3707]
- Fixed intermittent access violation errors when Server GC interacts with type-forwarded value types implemented in mscorlib or other domain-neutral assemblies during garbage collection. [425626, clr.dll, Bug, Build:3707]
- Enabled a very obscure and uncommon usage pattern where FX Closure Walks are too expensive in the default domain. Introduced DeferFxClosureWalk (opt-in) switch that when set does the following things: 1) Disable DisableFxClosureWalk switch 2) When in LoaderOptimization.MultiHost, all assemblies are assumed sharable in the default domain and the closure walk is deferred as long as possible. This solution will provide good default domain performance and correctness. [485894, clr.dll, Bug, Build:3707]
- Fixed crashes that can occur when NGen’ed facade assemblies are loaded as multidomain-sharable. [602785, clr.dll, Bug, Build:3707]
- Improved Monitor’s lock acquisition performance and scalability under a perpetual lock convoy. [602844, clr.dll, Bug, Build:3707]
- Fixed an issue that previously caused Ngen to run out of memory every time it executed due to registry corruption. [702519, mscorsvc.dll / mscorsvw.exe, Bug, Build:3707]
- Triggering a System.Threading.ThreadAbortException when System.Diagnostics.Debugger.s_triggerThreadAbortExceptionForDebugger is set to true. [732816, mscorlib.dll, Bug, Build:3707]
- Fix a crash on COM interop and properly return the hresult for the OOM. [733492, clr.dll, Bug, Build:3707]
- Prevents applications from COM activating managed types whose GUIDs mismatch the declared CLSID in the registry” [752205, clr.dll, Bug, Build:3734]
- Fixed deadlocks that could occur when loading exception stack traces in out-of-memory conditions. [748860, diasymreader.dll, Bug, Build:3734]
- Improved scalability of System.Threading.Timer. Previously System.Threading.Timer had a single global queue that was protected by a single process-wide lock. This can become a scalability problem if Timers are used frequently on multi-CPU machine. This change splits into N per-processor Queues as well as other improvements that improve the performance in a high-scale environment. For compatibility reasons this new code is not activated by default at the present time. It needs to be activated by using .NET Config variable ScalableTimer. [735923, clr.dll, mscorlib.dll, Bug, Build:3734]
Homepage – https://www.microsoft.com/net/
Supported Windows Client versions: Windows 10 version 1809, Windows 10 version 1803, Windows 10 version 1709, Windows 10 version 1703, Windows 10 version 1607, Windows 8.1, Windows 7 SP1.
Supported Windows Server versions: Windows Server 2019, Windows Server version 1803, Windows Server version 1709, Windows Server 2016, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008 R2 SP1
Size: 112 MB