{"id":5781,"date":"2015-07-20T04:25:00","date_gmt":"2015-07-20T04:25:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/2015\/07\/20\/announcing-asp-net-4-6-and-asp-net-5-beta-5-in-visual-studio-2015-release\/"},"modified":"2023-09-18T12:57:12","modified_gmt":"2023-09-18T19:57:12","slug":"announcing-asp-net-4-6-and-asp-net-5-beta-5-in-visual-studio-2015-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-asp-net-4-6-and-asp-net-5-beta-5-in-visual-studio-2015-release\/","title":{"rendered":"Announcing ASP.NET 4.6 and ASP.NET 5 beta 5 in Visual Studio 2015 Release"},"content":{"rendered":"<p>Long time readers of this blog or followers of the ASP.NET Community Standup know that this day was coming, and we have a released version of ASP.NET 4.6 framework and tools with Visual Studio 2015.\u00a0 Not only are we shipping ASP.NET 4.6, but we are also including with Visual Studio 2015 a bundle of ASP.NET 5 beta 5 runtime tools and libraries.\u00a0 There\u2019s a lot of\ngreat new features in ASP.NET 4.6 and ASP.NET 5 that you need to know about.\u00a0 Let\u2019s take a closer look at some of the bigger features in this release of Visual Studio.<\/p>\n<h2>ASP.NET 4.6 \u2013 More of the ASP.NET you know and enjoy<\/h2>\n<p>We are delivering updates to the existing ASP.NET 4.5.2 tools and frameworks that run on Windows and within Internet Information Server.\u00a0 The configuration and interaction with the\u00a0operating system and web server that you have known has not changed, and you can continue to build with Web Forms, MVC, Web Pages Web API, and SignalR.\u00a0 In fact, the new\nversions of these frameworks are as follows:<\/p>\n<ul>\n<li>ASP.NET Web Forms 4.6<\/li>\n<li>ASP.NET MVC 5.2.3<\/li>\n<li>ASP.NET Web Pages 3.2.3<\/li>\n<li>ASP.NET Web API 5.2.3<\/li>\n<li>ASP.NET SignalR 2.1.2<\/li>\n<\/ul>\n<p>You can find a detailed description of the issues fixed in these frameworks in our <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2015\/02\/09\/asp-net-mvc-5-2-3-web-pages-3-2-3-and-web-api-5-2-3-release.aspx\">announcement blog post<\/a> about their release.\u00a0 Lets take a look at some code samples<\/p>\n<h3>Web Forms Model Binding now supports Task returning methods<\/h3>\n<p>Model binding in web forms is a newer feature and has always run synchronously, even when the page was marked with an <span style=\"font-family: courier new,courier\">async=\u201dtrue\u201d<\/span> directive.\u00a0 With this release, you can add async keywords and return Task objects to your methods.\u00a0 Now you won\u2019t have to wait quite as long for that database insert or update when posting back to a page.<\/p>\n<p>More examples about async model binding in Web Forms can be found on<a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2015\/06\/11\/cool-web-forms-features-in-2015-async-model-binding.aspx\"> our blog post<\/a>.<\/p>\n<h3>Enabling the .NET Compiler Platform<\/h3>\n<p>New language features delivered in the updated .NET Compiler Platform (\u201cRoslyn\u201d) are available throughout ASP.NET.\u00a0 You can use these advanced features on your web forms markup, razor templates, and in your code-behind files.\u00a0Web Forms projects now include the <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.CodeDom.Providers.DotNetCompilerPlatform\">Microsoft.CodeDom.Providers.DotNetCompilerPlatform<\/a>\u00a0package by default.\u00a0 This allows the web forms projects to pre-compiler and deliver your web forms projects significantly faster.<\/p>\n<h3>HTTP\/2 Support<\/h3>\n<p>In Windows 10 and ASP.NET 4.6 there is now support for <a href=\"http:\/\/http2.github.io\/\">HTTP\/2<\/a>, the next major update to the web\u2019s protocol.\u00a0 According to the HTTP working group, this is not a rewrite of the protocol and that all methods, status codes, and semantics remain the same.\u00a0The key differences between HTTP\/2 and HTTP\/1.x are:<\/p>\n<ul>\n<li>Binary transmission instead of text<\/li>\n<li>Fully multiplexed instead of ordered and blocking \u2013 this means your images, stylesheets, scripts, and other static resources are all loaded concurrently<\/li>\n<li>One connection to the server can be used to promote parallel loading of resources<\/li>\n<li>Header compression is now used to reduce overhead<\/li>\n<li>Servers can now \u201cpush\u201d responses proactively into client caches<\/li>\n<\/ul>\n<p>Check out this video from Program Manager Pranav Rastogi on Channel 9 where he demonstrates the advantage of HTTP\/2 in ASP.NET 4.6<\/p>\n<p style=\"text-align: center;\">\n  <iframe width=\"550\" height=\"310\" src=\"https:\/\/channel9.msdn.com\/Events\/Visual-Studio\/Connect-event-2014\/812\/player\" allowfullscreen><\/iframe>\n<\/p>\n<h3>Identity and Authentication Updates<\/h3>\n<p>The ASP.NET 4.6 templates now use Open Id Connect middleware to authenticate to Azure Active Directory (Azure AD) which makes the programming model to authenticate with Azure AD much easier.\u00a0 Additionally, when starting a new project and you choose the \u2018Individual User Accounts\u2019 option then the templates will provide sample code for two-factor authentication and social logins with ASP.NET Identity 2.2.1.<\/p>\n<p>In App_StartIdentityConfig.cs you can find a sample two-factor authentication configured as follows:<\/p>\n<p>The EmailService and SmsService can be configured to actually transmit messages with your own choice of email and SMS providers.\u00a0 In this case, they do nothing and users are allowed to access the application normally.<\/p>\n<p>Social logins can be configured using the sample code hiding in the comments at the bottom of AppStartStartup.Auth.cs<\/p>\n<p>Simply uncomment the providers you wish to use, register as a developer with an application on their sites and enter the authentication information those providers give your application into this code.<\/p>\n<p>More details can be found in the <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2015\/04\/07\/asp-net-identity-2-2-1.aspx\">ASP.NET Identity 2.2.1 announcement blog post<\/a>.<\/p>\n<h3>JSON Editor Improvements<\/h3>\n<p>The JSON editor was significantly updated in this release with new features like:<\/p>\n<ul>\n<li>JSON Schema validation \u2013 we now support the <a href=\"http:\/\/json-schema.org\/documentation.html\">JSON Schema draft v4 specification<\/a><\/li>\n<li>Intellisense for bower.json and package.json configuration files used by the bower and npm package managers<\/li>\n<li>Duplicate property validation<\/li>\n<li>Support for <a href=\"http:\/\/www.schemastore.org\">SchemaStore.org<\/a>\u00a0\u2013 an open source collection of useful JSON Schema files.\u00a0 Any JSON file that has a schema associated on SchemaStore.org will automatically get intellisense and validation support.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6518.intellisense.png\"><img decoding=\"async\" style=\"margin-left: auto;margin-right: auto\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6518.intellisense.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center\"><strong>Figure 1 &#8211; JSON Intellisense with SchemaStore.org support<\/strong><\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6560.bootstrapPackage.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6560.bootstrapPackage.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center\"><strong>Figure 2 &#8211; Bower Package Intellisense<\/strong><\/p>\n<p>You can find video of Program Manager Mads Kristensen talking about the cool new editor features on Channel 9\u2019s Web Camps:<\/p>\n<p style=\"text-align: center\">\n<h3>HTML Editor Improvements<\/h3>\n<p>The HTML editor has seen a number of additions to make it the modern text editor tool that web developers prefer.\u00a0 We\u2019ve added:<\/p>\n<ul>\n<li>Better client template formatting with regards to the double-curly brace syntax.\u00a0 <span style=\"font-family: courier new,courier\">{{\u2026}}\u00a0<\/span>\u00a0 This ensures that the inner content is not treated as HTML and being marked as invalid by the editor.\u00a0 This is a great benefit for developers using Angular, Handlebars, Mustache, and other double-curly brace templates.<\/li>\n<li>Improvements to support web components and other custom elements.\u00a0 Custom elements will not be marked as invalid and the editor support the<span style=\"font-family: courier new,courier\"> &lt;link rel=\u201dimport\u201d&gt;<\/span> tag for web components.\u00a0 The editor will provide intellisense for those components that it can find with an imported definition.<\/li>\n<li>Intellisense for angular directives and attributes.\u00a0 There are icons that will appear in the intellisense box to indicate that these are angular supporting options<\/li>\n<li>Bootstrap CSS class intellisense with icons to show that the class came from a bootstrap library<\/li>\n<\/ul>\n<p style=\"text-align: center\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/0511.bootstrapIntellisense.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/0511.bootstrapIntellisense.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center\"><strong>Figure 3 &#8211; Bootstrap CSS Framework Intellisense<\/strong><\/p>\n<h3>JavaScript editor improvements<\/h3>\n<p>We\u2019ve added the following features to our JavaScript editor:<\/p>\n<ul>\n<li>AngularJS support with intellisense for angular controllers, services, factories, directives, and animations<\/li>\n<li>New JavaScript language features (from the EcmaScript 6 version of JavaScript) including classes, arrow functions, and template strings<\/li>\n<li>New Navigation bar to help in moving between major elements in your script<\/li>\n<li>Documentation comments written in JSDoc format are shown when using intellisense<\/li>\n<li>Object literal intellisense showing suggestions when passing an object literal to functions documented using JSDoc<\/li>\n<\/ul>\n<p style=\"text-align: center\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6663.javascriptEditor.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/6663.javascriptEditor.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center\"><strong>Figure 4 &#8211; JavaScript Editor with JSDoc and Intellisense support<\/strong><\/p>\n<h3>Support for JSX (React.JS)<\/h3>\n<p>The most requested feature in the text editor was for support of the .jsx extension.\u00a0 Now you can get intellisense, formatting and validation in the editor as you type.\u00a0 With the collaboration of the Facebook team that is responsible for the react.js library, we believe we\u2019ve delivered a great experience for react.js developers.<\/p>\n<p style=\"text-align: center\">\u00a0<a href=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/3823.reactSample.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/3823.reactSample.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: center\"><strong>Figure 5 &#8211; React.JS Syntax Highlighting Support<\/strong><\/p>\n<h3><a name=\"pub46Hosting\"><\/a>Azure Web Apps Availability<\/h3>\n<p>With the brand-new release of ASP.NET 4.6, the Azure Web Apps service is still being prepared and tested for this important update.\u00a0 Once we have confirmed that Azure Web Apps can host an ASP.NET 4.6 application with the same high level of performance and fidelity that you expect from Microsoft Azure, we will announce compatibility of the service.\u00a0 Our operations team is working diligently and we will update you on the <a href=\"http:\/\/azure.microsoft.com\/blog\/\">Microsoft Azure blog<\/a> in the near future.<\/p>\n<h2>ASP.NET 5 beta 5 Support<\/h2>\n<p>ASP.NET 5 is a lean and composable .NET stack for building modern web applications for both cloud and on-premises servers. \u00a0This re-write of ASP.NET was started in order to provide an improved, modern web framework that could be run cross-platform and updated as quickly as the web changes.<\/p>\n<p>ASP.NET 5 includes the following features:<\/p>\n<ul>\n<li>New light-weight request pipeline<\/li>\n<li>Run on IIS, or self-hosted in your\u00a0own process<\/li>\n<li>Built on new .NET Execution Environment (DNX) that can run on the full .NET Framework or on .NET Core, a new cloud-optimized runtime that supports true side-by-side versioning<\/li>\n<li>Runs cross-platform on Windows, Mac, and Linux<\/li>\n<li>Everything is a package delivered with NuGet, even the runtime itself<\/li>\n<li>Comes with ASP.NET MVC 6 &#8211; a unified Web framework for Web UI and Web APIs<\/li>\n<li>Environment-based configuration for a seamless transition to the cloud<\/li>\n<li>Dependency injection out-of-the-box<\/li>\n<li>New Visual Studio project system and high productivity tooling experience<\/li>\n<li>All <a href=\"http:\/\/www.github.com\/aspnet\/home\">open source on GitHub<\/a> through the .NET Foundation<\/li>\n<\/ul>\n<p>Visual Studio 2015 includes the ASP.NET 5 beta5 runtime packages. These packages are still in preview and are not recommended for use in production. You can find all the details on the specific enhancements added and issues fixed in the <a href=\"https:\/\/github.com\/aspnet\/Home\/releases\/tag\/v1.0.0-beta5\">published release notes<\/a>\u00a0on GitHub.<\/p>\n<p>The ASP.NET 5 team has published a <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=618915\">roadmap to their public release<\/a> on GitHub.\u00a0 Be sure to check that out if you are interested in when you can publish an application to production.<\/p>\n<p>You can read more about the new <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2015\/06\/30\/asp-net-5-beta5-now-available.aspx\">ASP.NET 5 beta 5 release<\/a> on their announcement blog post.\u00a0 Our ongoing series of announcements and updates with each beta release of ASP.NET 5 goes into details with samples for these items.\u00a0 Follow the <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/tags\/asp-net+5\/\">ASP.NET 5 tag<\/a>\u00a0on this blog to keep up with the changes.<\/p>\n<p>You can also catch up with the weekly changes in the advancements of ASP.NET 5 with the <a href=\"https:\/\/www.youtube.com\/playlist?list=PL0M0zPgJ3HSftTAAHttA3JQU4vOjXFquF\">Community Standup videos on YouTube<\/a> and the <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/tags\/CommunityStandup\/\">transcripts hosted<\/a> on this blog.<\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/devblogs.microsoft.com\/00\/00\/00\/63\/56\/5557.2015-07-07_22-03-16.png\"><img decoding=\"async\" style=\"max-width: 550px\" src=\"https:\/\/devblogs.microsoft.com\/aspnet\/wp-content\/uploads\/sites\/16\/2015\/07\/5557.2015-07-07_22-03-16.png\" alt=\"\" border=\"0\" \/><\/a><\/p>\n<h2>Summary<\/h2>\n<p>We are very happy with this latest release of ASP.NET tools for developers in Visual Studio 2015.\u00a0Our teams are excited for you to start working with these tools and build something amazing.\u00a0 We look forward to your feedback, experiences, blog posts, and comments about the new tools.\u00a0 If you haven\u2019t already, go to <a href=\"http:\/\/visualstudio.com\/\">VisualStudio.com<\/a> and <a href=\"https:\/\/www.visualstudio.com\/downloads\">download a copy of Visual Studio 2015<\/a> to get started today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Long time readers of this blog or followers of the ASP.NET Community Standup know that this day was coming, and we have a released version of ASP.NET 4.6 framework and tools with Visual Studio 2015.\u00a0 Not only are we shipping ASP.NET 4.6, but we are also including with Visual Studio 2015 a bundle of ASP.NET [&hellip;]<\/p>\n","protected":false},"author":405,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[30,7265,7434,7489,7333,34,7276,7372,7491],"class_list":["post-5781","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","tag-announcement","tag-announcements","tag-asp-net-4-5","tag-asp-net-5","tag-asp-net-mvc","tag-asp-net-web-api","tag-intellisense","tag-javascript","tag-visual-studio-2015"],"acf":[],"blog_post_summary":"<p>Long time readers of this blog or followers of the ASP.NET Community Standup know that this day was coming, and we have a released version of ASP.NET 4.6 framework and tools with Visual Studio 2015.\u00a0 Not only are we shipping ASP.NET 4.6, but we are also including with Visual Studio 2015 a bundle of ASP.NET [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5781","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\/405"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=5781"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/5781\/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=5781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=5781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=5781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}