{"id":413,"date":"2014-05-05T15:21:00","date_gmt":"2014-05-05T15:21:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2014\/05\/05\/announcing-the-net-framework-4-5-2\/"},"modified":"2021-09-30T16:49:48","modified_gmt":"2021-09-30T23:49:48","slug":"announcing-the-net-framework-4-5-2","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-the-net-framework-4-5-2\/","title":{"rendered":"Announcing the .NET Framework 4.5.2"},"content":{"rendered":"<p><strong>Updated (2017):<\/strong> See <a href=\"https:\/\/github.com\/Microsoft\/dotnet\/blob\/master\/releases\/README.md\"><strong>.NET Framework Releases<\/strong><\/a> to learn about newer releases.<\/p>\n<p>Updated (July 2015): See <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/07\/20\/announcing-net-framework-4-6.aspx\">Announcing .NET Framework 4.6<\/a> to read about the latest version of the NET Framework.<\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\">We are happy to announce the availability of the .NET Framework 4.5.2. It is a highly compatible, in-place update to the .NET Framework 4, 4.5 and 4.5.1. You can download the releases now,<\/span><\/p>\n<ul>\n<li><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\"><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=397674\">.NET Framework 4.5.2 Web Installer<\/a><\/span><\/li>\n<li><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\">More installers are covered at the end of this post<\/span><\/li>\n<\/ul>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\">We incorporated feedback we received for the .NET Framework 4.5.1 from different feedback sources to provide a faster release cadence. In this blog post we will talk about some of the new features we are delivering in the .NET Framework 4.5.2. <\/span><\/span><\/p>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><strong>ASP.NET improvements<\/strong><\/span><\/span><\/p>\n<ul>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\">New HostingEnvironment.QueueBackgroundWorkItem method that lets you schedule small background work items. ASP.NET tracks these items and prevents IIS from abruptly terminating the worker process until all background work items have completed. These will enable ASP.NET applications to reliably schedule Async work items.<\/span><\/span><\/span><\/li>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\">New HttpResponse.AddOnSendingHeaders and HttpResponseBase.AddOnSendingHeaders methods are more reliable and efficient than HttpApplication.PreSendRequestContent and HttpApplication.PreSendRequestHeaders. These APIs let you inspect and modify response headers and status codes as the HTTP response is being flushed to the client application. These reliability improvements minimize deadlocks and crashes between IIS and ASP.NET.<\/span><\/span><\/span><\/li>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\">New HttpResponse.HeadersWritten and HttpResponseBase.HeadersWritten properties that return Boolean values to indicate whether the response headers have been written. You can use these properties to make sure that calls to APIs such as <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/system.web.httpresponse.statuscode(v=vs.110).aspx\">HttpResponse.StatusCode<\/a> succeeds. This enables shared hosting scenarios for ASP.NET applications.<\/span><\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\"><strong>High DPI Improvements <\/strong>is an opt-in feature to<strong> <\/strong>enable resizing according to the system DPI settings for several glyphs or icons for the following Windows Forms controls: DataGridView, ComboBox,\nToolStripComboBox, ToolStripMenuItem and Cursor. Here are examples of before and after views once this change is opted into.<\/span><\/span><\/span><\/p>\n<table style=\"width: 681px;height: 474px\">\n<tbody>\n<tr>\n<td style=\"text-align: center\"><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\"><strong>.NET 4.5.1 Controls with High DPI setting<\/strong><\/span><\/td>\n<td><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\"><strong>.NET 4.5.2 Controls with High DPI setting<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\">The red error glyph barely shows up and will eventually disappear with high scaling<\/span><\/span><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/0451.FX451_runtime.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/0451.FX451_runtime.png\" alt=\"\" width=\"245\" height=\"235\" border=\"0\" \/><\/a><\/span><\/span><\/td>\n<td><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\">The red error glyph scales correctly.<\/span><\/span><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/4341.FX452_runtime.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/4341.FX452_runtime.png\" alt=\"\" width=\"244\" height=\"233\" border=\"0\" \/><\/a><\/span><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\">The ToolStripMenu drop down arrow is barely visible, eventually won\u2019t be usable with high scaling<\/span><\/span><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/1643.FX451_DesignTime_ToolStrip.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/1643.FX451_DesignTime_ToolStrip.png\" alt=\"\" width=\"317\" height=\"166\" border=\"0\" \/><\/a><\/span><\/span><\/td>\n<td><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\">The drop down arrow in the ToolStripMenu scales correctly<\/span><\/span><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif\"><span style=\"line-height: 107%;font-size: small\"><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/8637.FX452_DesignTime_ToolStrip.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/8637.FX452_DesignTime_ToolStrip.png\" alt=\"\" width=\"315\" height=\"165\" border=\"0\" \/><\/a><\/span><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\"><strong>Distributed transactions enhancement <\/strong>enables promotion of local transactions to Microsoft Distributed Transaction Coordinator (MSDTC) transactions without the use of another application domain or unmanaged code. This has a significant positive impact on the performance of distributed transactions.<\/span><\/span><\/span><\/p>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\"><strong>More robust profiling<\/strong> with new profiling APIs that require dependent assemblies that are injected by the profiler to be loadable immediately, instead of being loaded after the app is fully initialized. This change does not affect users of the existing ICorProfiler APIs. Before this feature, diagnostics tools that do IL instrumentation via profiling API could cause unhandled exceptions to be thrown, unexpectedly terminating the process. <\/span><\/span><\/span><\/p>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><span style=\"line-height: 107%\"><strong>Improved activity tracing support<\/strong> <strong>in runtime and framework <\/strong>&#8211; The .NET Framework 4.5.2 enables out-of-process, Event Tracing for Windows (ETW)-based activity tracing for a larger surface area. This enables Application Performance Management vendors to provide lightweight tools that accurately track the costs of individual requests and activities that cross threads. These events are raised only when ETW controllers enable them.<\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\">For more information on usage of these features please refer to \u201c<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms171868(v=vs.110).aspx\">What\u2019s New in the .NET Framework 4.5.2<\/a>\u201d. Besides these features, there are many reliability and performance improvements across different areas of the .NET Framework.<\/span><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\">Here are additional installers &#8211; pick package(s) most suitable for your needs based on your deployment scenario:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: arial,helvetica,sans-serif;font-size: small\"><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=397674\">.NET Framework 4.5.2 Web Installer<\/a> \u2013 A Bootstrapper that pulls in components based on the target OS\/platform specs on which the .NET Framework is being deployed. Internet access is required.<\/span><\/li>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=328856\">.NET Framework 4.5.2 Offline Installer<\/a> \u2013 The Full Package for offline deployments. Internet access is not required.<\/span><\/li>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=328858\">.NET Framework 4.5.2 Language Packs<\/a> \u2013 Language specific support. You need to install the .NET Framework (language neutral) package before installing one or more language packs.<\/span><\/span><\/li>\n<li><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\"><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=328857\">.NET Framework 4.5.2 Developer Pack<\/a> \u2013 This will install .NET Framework Multi-targeting pack for building apps targeting .NET Framework 4.5.2 and also .NET Framework 4.5.2 runtime. Useful for build machines that need both the runtime and the multi-targeting pack.<\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"line-height: 107%;font-family: arial,helvetica,sans-serif;font-size: small\"><span style=\"line-height: 107%\">Please install the <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=397674\">.NET Framework 4.5.2<\/a> and let us know your feedback via <a href=\"http:\/\/visualstudio.uservoice.com\/forums\/121579-visual-studio\/category\/31481-net\">UserVoice<\/a>, <a href=\"http:\/\/connect.microsoft.com\/VisualStudio\">Visual Studio Connect<\/a> or as comment to this blog post. We\u2019re also listening on <a href=\"https:\/\/twitter.com\/dotnet\">Twitter<\/a> and <a href=\"http:\/\/facebook.com\/dotnet\">Facebook<\/a>.<\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (July 2015): See Announcing .NET Framework 4.6 to read about the latest version of the NET Framework. We are happy to announce the availability of the .NET Framework 4.5.2. It is a highly compatible, in-place update to the .NET Framework 4, 4.5 and [&hellip;]<\/p>\n","protected":false},"author":339,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[5,11,12,22,30,77],"class_list":["post-413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-net-4-5-2","tag-net-framework","tag-net-framework-4-5-2","tag-4-5-2","tag-announcement","tag-fundamentals"],"acf":[],"blog_post_summary":"<p>Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (July 2015): See Announcing .NET Framework 4.6 to read about the latest version of the NET Framework. We are happy to announce the availability of the .NET Framework 4.5.2. It is a highly compatible, in-place update to the .NET Framework 4, 4.5 and [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/339"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=413"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/413\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}