{"id":383,"date":"2014-05-12T09:08:00","date_gmt":"2014-05-12T09:08:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2014\/05\/12\/the-next-generation-of-net-asp-net-vnext\/"},"modified":"2021-09-30T16:49:29","modified_gmt":"2021-09-30T23:49:29","slug":"the-next-generation-of-net-asp-net-vnext","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/the-next-generation-of-net-asp-net-vnext\/","title":{"rendered":"The Next Generation of .NET \u2013 ASP.NET vNext"},"content":{"rendered":"<p><strong>Updated (2017):<\/strong> See <strong><a href=\"https:\/\/github.com\/Microsoft\/dotnet\/blob\/master\/releases\/README.md\">.NET Framework Releases<\/a><\/strong> to learn about newer releases.<\/p>\n<p>Updated (July 2015):\u00a0See\u00a0<a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2015\/07\/20\/announcing-net-framework-4-6.aspx\">Announcing .NET Framework 4.6<\/a>\u00a0to read about the latest version of the NET Framework.<\/p>\n<p>Today at TechEd North America, we announced the latest set of innovations that are part of the next generation of .NET. The biggest of those is ASP.NET vNext, which is an updated version of ASP.NET that been optimized for cloud Web development. We\u2019ve continued to improve the core .NET technologies that we shared at Build last month, specifically the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/04\/02\/announcing-net-native-preview.aspx\">.NET Native<\/a> ahead-of-time compiler and the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/tags\/ryujit\/\">.NET Next Generation JIT (\u201cRyuJIT\u201d)<\/a>. Both have new releases you can try out. We also have a set of smaller announcements to share.<\/p>\n<p>At Build last month, we announced the .NET Foundation. We are currently talking to over 25 community-based .NET projects and organizations about joining the foundation. The interest in the foundation has exceeded our expectations and is off to a great start.<\/p>\n<p>We also announced the <a href=\"https:\/\/github.com\/dotnet\/roslyn\">.NET Compiler Platform (&#8220;Roslyn&#8221;)<\/a> at Build. It includes new C# and VB compilers and a preview of new language features being considered for C# 6. The project is open source on GitHub and has accepted its first pull requests from the community.<\/p>\n<p>The final release of <a href=\"http:\/\/go.microsoft.com\/fwlink\/p\/?LinkID=390465\">Visual Studio 2013 Update 2<\/a> is now available. Update 2 brings dozens of <a href=\"http:\/\/blogs.msdn.com\/b\/somasegar\/archive\/2014\/02\/25\/visual-studio-2013-update-2-ctp2.aspx\">significant new features<\/a> to Visual Studio developers, including <a href=\"http:\/\/blogs.msdn.com\/b\/somasegar\/archive\/2014\/04\/02\/visual-studio-2013-update-2-rc-universal-projects-for-windows-and-windows-phone.aspx\">tools for Windows Phone 8.1 and universal Windows apps<\/a>.<\/p>\n<p>While we\u2019re looking forward, it\u2019s also good to look at one of the current strengths of .NET. There are currently 1.8 billion active installs of .NET. That\u2019s a very large number by any measure and a great base of desktop and server machines on which to run your apps.<\/p>\n<h2>TechEd .NET Announcements<\/h2>\n<p>Here\u2019s a quick rundown of the .NET announcements that we shared at TechEd.<\/p>\n<ul>\n<li><a href=\"#_.NET_vNext\">.NET vNext<\/a><\/li>\n<li><a href=\"#_ASP.NET_vNext\">ASP.NET vNext (MVC, Web API and Web Pages 6; EF 7; SignalR 3)<\/a><\/li>\n<li><a href=\"#_Additional_.NET_Framework\">.NET Framework 4.5.2<\/a><\/li>\n<li><a href=\"#_Additional_.NET_Framework\">.NET Native Developer preview 2 \u2013 x86 support<\/a><\/li>\n<li><a href=\"#_Additional_.NET_Framework\">.NET Next Generation JIT CTP 4 \u2013 supported on Windows 7<\/a><\/li>\n<li><a href=\"#_Targeting_Multiple_Platforms\">Better support for Xamarin in .NET PCL NuGet Packages<\/a><\/li>\n<li><a href=\"#_Targeting_Multiple_Platforms\">ApiPort API Portablity Analyzer<\/a><\/li>\n<li><a href=\"#_Client_Libraries_for\">Client Libraries for Office 365 REST APIs<\/a><\/li>\n<\/ul>\n<h2><a><\/a>.NET vNext<\/h2>\n<p>TechEd is the first time we\u2019re talking about .NET vNext, as the next major release of the .NET Framework. At Build and TechEd, we\u2019ve shared many of the features and components that you can expect in the next release. You will be able to compile C# 6 and VB with the <a href=\"http:\/\/blogs.msdn.com\/b\/csharpfaq\/archive\/tags\/roslyn\/\">Roslyn compilers<\/a>, host ASP.NET vNext apps on the server or cloud, compile your Windows Store apps with the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/tags\/dotnetnative\/\">.NET Native<\/a> ahead of time compiler, and enjoy faster desktop and server apps with the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/tags\/ryujit\/\">Next Generation JIT<\/a>.<\/p>\n<p>We\u2019ve optimized .NET for the mobile-first and cloud-first development options that have become more common today. Device and cloud apps come with significant user expectations around performance, and also run in more specialized hardware\/virtual environments. For Windows Store apps, we built the .NET native ahead of time compiler. For cloud apps, we\u2019ve developed a cloud optimized mode.<\/p>\n<p>.NET vNext will have a cloud optimized mode that enables you to deploy your apps with a copy of the .NET Framework libraries they need. Since the runtime and framework libraries are deployed on an app-basis, each app can run different versions of .NET vNext side-by-side and upgrade separately, all on the same machine. These libraries have been slimmed down significantly to reduce the footprint of the framework, and will be distributed via NuGet. Also, libraries such as WPF and Windows Forms have been removed from this mode.<\/p>\n<p>We&#8217;re developing this with cross-platform in mind, including an active collaboration with Xamarin to ensure that cloud-optimized .NET applications can run on Mac or Linux on top of the Mono runtime. The great productivity of .NET and ASP.NET can be available to teams working in mixed development environments.<\/p>\n<h2><a><\/a>ASP.NET vNext<\/h2>\n<p>ASP.NET vNext is our big announcement at TechEd. We\u2019ve updated many aspects of ASP.NET to make ASP.NET apps easier to build and perform significantly better. We\u2019ve considered sites and services that get infrequent traffic and those that get bombarded by visitors all day long. We\u2019ve also opened up new scenarios that were just not possible with ASP.NET before.<\/p>\n<p>We\u2019ve designed ASP.NET with a key set of design principles in mind:<\/p>\n<ul>\n<li>Cloud-ready out of the box<\/li>\n<li>A single programming model for Web sites and services<\/li>\n<li>Low-latency developer experience<\/li>\n<li>Make high-performance and high-productivity APIs and patterns available \u2013 enable them both to be used and compose together within a single app<\/li>\n<li>Fine-grained control available via command-line tools and standard file formats<\/li>\n<li>Delivered via NuGet<\/li>\n<li>Release as <a href=\"https:\/\/github.com\/aspnet\/Home\">open source<\/a> via the <a href=\"http:\/\/www.dotnetfoundation.org\/\">.NET Foundation<\/a><\/li>\n<li>Can run on Mono, on Mac and Linux<\/li>\n<\/ul>\n<p>ASP.NET vNext includes updated versions of MVC, Web API, Web Pages, SignalR and EF. The key improvement with these frameworks is that MVC, Web API and Web Pages have been merged into a single programming model. For example, there\u2019s now unified controller and routing concepts between all three. You can now have a single controller that returns both MVC views and formatted Web API responses, on the same HTTP verb.<\/p>\n<p>ASP.NET vNext apps are cloud ready by design. Services such as session state and caching adjust their behavior depending on whether the app is running in the cloud or in a traditional hosting environment, while providing a consistent API. We use dependency injection behind the scenes to provide your app with the correct implementation for these services. Using this approach, it is really easy to move your app from on-premises to the cloud, since our code changes, not yours.<\/p>\n<p>You will be able to make changes to your web applications and see the results after a browser refresh, with no separate build step needed. This significant productivity enhancement is based on improvements to load times in the underlying CLR, as well as use of the new .NET Compiler Platform (&#8220;Roslyn&#8221;).<\/p>\n<p>You can see the ASP.NET vNext in action in the images below. The first image shows an ASP.NET vNext Hello World app hosted from the command-line and drive from browser. Any edits in Visual Studio will be compiled and executed when the browser is next refreshed. This app is using .NET vNext cloud optimized mode.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image002\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/6560.clip_image002_69808167.png\" alt=\"clip_image002\" width=\"698\" height=\"401\" border=\"0\" \/><\/p>\n<p>You can also use Visual Studio with a more traditional Visual Studio F5 workflow that automatically starts the webserver and launches the browser. This is the same app as shown in the image above.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image004\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/7026.clip_image004_7AF372F0.png\" alt=\"clip_image004\" width=\"714\" height=\"412\" border=\"0\" \/><\/p>\n<p>In the image below, the app has been re-configured to run on the full .NET vNext framework, instead of the cloud optimized mode. That\u2019s just a setting on the project. The app now has access to all of the APIs in the .NET Framework. The browser refresh feature is available in this configuration, too.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image006\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/5807.clip_image006_07EFE3B3.png\" alt=\"clip_image006\" width=\"703\" height=\"423\" border=\"0\" \/><\/p>\n<p>The table below outlines the ASP.NET vNext scenarios we\u2019ve built and where they are available.<\/p>\n<table class=\"MsoTable15Grid5DarkAccent1\" style=\"border: currentcolor;line-height: normal;list-style-type: disc;border-collapse: collapse\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"height: 14.35pt\">\n<td style=\"background: #5b9bd5;border-width: 1pt medium 1pt 1pt;border-style: solid none solid solid;border-color: white currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"19\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><strong><span><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt;color: #ffffff\">ASP.NET vNext Feature<\/span><\/span><\/span><\/strong><\/p>\n<\/td>\n<td style=\"background: #5b9bd5;border-width: 1pt medium;border-style: solid none;border-color: white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"19\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><strong><span><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt;color: #ffffff\">On .NET vNext<\/span><\/span><\/span><\/strong><\/p>\n<\/td>\n<td style=\"background: #5b9bd5;border-width: 1pt 1pt 1pt medium;border-style: solid solid solid none;border-color: white white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"19\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><strong><span><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt;color: #ffffff\">On .NET vNext (Cloud Optimized)<\/span><\/span><\/span><\/strong><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 19.65pt\">\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"26\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Cloud Ready<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"26\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"26\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 24.25pt\">\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Modular Design<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 23.35pt\">\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"31\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Dependency Injection<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"31\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"31\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 24.25pt\">\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Consistent Tracing \/ Debugging<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"32\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 22pt\">\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"29\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Faster Development (browser refresh)<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"29\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"29\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 21.1pt\">\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"28\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Open Source<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"28\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"28\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29.8pt\">\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Full Side by Side (runtime and framework\ndeployed with application)<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"39\"><\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29.8pt\">\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Faster startup, Lower memory \/ Higher throughput (best of class)<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"39\"><\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29.8pt\">\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Uses a smaller set of framework libraries<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">\u00a0<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #bdd6ee;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29.8pt\">\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt;border-style: none solid solid;border-color: currentcolor white white;padding: 0in 5.4pt\" valign=\"top\" width=\"305\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">Enabled on Mono, on Mac and Linux<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"114\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">\u00a0<\/span><\/span><\/p>\n<\/td>\n<td style=\"background: #deeaf6;border-width: medium 1pt 1pt medium;border-style: none solid solid none;border-color: currentcolor white white currentcolor;padding: 0in 5.4pt\" valign=\"top\" width=\"138\" height=\"39\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 0pt;line-height: normal\"><span style=\"font-family: Calibri\"><span style=\"font-size: 11pt\">*<\/span><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 8pt;line-height: 12pt;list-style-type: disc\">\n<p class=\"MsoNormal\" style=\"margin: 0in 0in 8pt;line-height: 12pt;list-style-type: disc\">ASP.NET vNext will be open source and will be contributed to the <a href=\"http:\/\/www.dotnetfoundation.org\/\">.NET Foundation<\/a>. This shouldn\u2019t come as a big surprise since the <a href=\"https:\/\/github.com\/aspnet\/AspNetWebStack\">ASP.NET Web stack<\/a> is already open source. All of ASP.NET vNext will be delivered via NuGet, will be open source and will take contributions. Read <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/05\/13\/asp-net-vnext-the-future-of-net-on-the-server.aspx\">ASP.NET vNext: the future of .NET on the Server<\/a> to learn more.<\/p>\n<p>Our announcement at TechEd is the first stop for .NET vNext and ASP.NET vNext. We\u2019ll share much more in the months to come before we release the final versions. We\u2019re looking forward to shipping pre-release versions in order to get your feedback.<\/p>\n<h2><a><\/a>Additional .NET Framework Updates and Improvements<\/h2>\n<p>We recently announced the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/05\/05\/announcing-the-net-framework-4-5-2-release.aspx\">.NET Framework 4.5.2<\/a>. It including significant improvements in ASP.NET and Windows Forms and other areas of the product. You can start incorporating 4.5.2 features into your apps now.<\/p>\n<p>We released several key improvements to <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/05\/13\/improvements-to-asp-net-web-forms.aspx\">ASP.NET Web Forms<\/a>. These include support for ASP.NET Identity 2.0, Entity DataSource control for Entity Framework 6 and Roslyn support.<\/p>\n<p>We have also added new features and scenarios to both <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/tags\/dotnetnative\/\">.NET Native<\/a> and the <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/tags\/ryujit\/\">Next Generation JIT<\/a>. .NET Native now support x86, in addition to ARM and x64 apps. The Next Generation JIT now supports Windows 7 and later for x64 apps. Both of these technologies are a critical part of our .NET vNext roadmap. Expect to hear more about both of them in the coming months.<\/p>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/dotnetnative\">Get .NET Native Developer Preview 2<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/rj-ctp4\">Get Next Generation JIT (\u201cRyuJit\u201d) CTP 4<\/a><\/li>\n<\/ul>\n<h2><a><\/a>Targeting Multiple Platforms<\/h2>\n<p>We\u2019ve been working for several years to make it easier to write code for multiple platforms, both as apps and libraries. We started by <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2013\/11\/13\/pcl-and-net-nuget-libraries-are-now-enabled-for-xamarin.aspx\">enabling our PCL reference assemblies for Xamarin<\/a>, who quickly moved forward with <a href=\"http:\/\/blog.xamarin.com\/microsofts-pcl-reference-assemblies\/\">that change<\/a>. More recently, we\u2019ve been working closely with Xamarin to make our <a href=\"https:\/\/twitter.com\/DotNet\/status\/464441664291893249\">.NET NuGet packages<\/a> work better with Xamarin tools, to make it easier to build .NET apps for iOS and Android. There\u2019s still work to do, but the experience has gotten much better and will continue to improve.<\/p>\n<p>At TechEd, we announced a new <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398760\">portability analysis tool, called ApiPort<\/a>. It provides you with two main pieces of data: the platforms that you can easily\/reasonably target with your code, and the dependencies that are preventing you from targeting additional platforms.<\/p>\n<p>The command line tool generates an Excel report that provides you with two views of its portability analysis. It provides a high-level color-coded view for a given set of platforms. It also provides a very detailed list of all the types and members used within your code, and whether they are supported, per platform. Given that the report is in Excel, it is very easy to filter the list, build pivot tables and do whatever else you want to perform further analysis.<\/p>\n<p>The image below shows a small sample of the high-level portability analysis view. Only one assembly is shown, but there can be multiple. Check out this <a href=\"https:\/\/dotnetweb.blob.core.windows.net\/platforms\/ApiPortAnalysis.xlsx\">sample portability analysis<\/a> to get a first-hand view.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image008\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/8372.clip_image008_32CAD876.jpg\" alt=\"clip_image008\" width=\"624\" height=\"47\" border=\"0\" \/><\/p>\n<p>The tool has another function, too. All of the dependency data (not the assemblies) are uploaded to an Azure service that the .NET team maintains. The data that the tool uploads is the list of assemblies and APIs that your code relies on. We do not record where the data came from or by whom. We do not upload any of your actual code or binaries. We want to know which functionality we need to bring to each platform to make it easier to target all platforms.<\/p>\n<p>If you are finding it difficult to target a particular platform, please \u201cvote\u201d for the APIs you want added to a particular platform by running the tool on your app and libraries. It\u2019s really easy to run the tool on a whole directory.<\/p>\n<p>This first release of tool is missing a few features that we are in the process of adding. The Xamarin\/Mono platforms are currently missing from the tool. It also doesn\u2019t yet take into consideration NuGet packages that make .NET Framework APIs available on other platforms, counting them as missing APIs.<\/p>\n<ul>\n<li><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=398760\">Get the ApiPort API portability analyzer<\/a><\/li>\n<\/ul>\n<h2><a><\/a>Client Libraries for Microsoft Services<\/h2>\n<p>You\u2019ve probably heard that Microsoft is both a \u201cservices first\u201d and \u201cdevices first\u201d company. At the nexus of those statements are client libraries that make it easy to target Microsoft services from apps. While <a href=\"http:\/\/www.nuget.org\/packages?q=windowsazureofficial\">Client libraries for Microsoft services<\/a> are not new, we are more recently working to provide support for more platforms. We\u2019ve started with Office 365 services, and intend to add more services over time.<\/p>\n<p>At TechEd, we announced a preview release of a new set of client libraries for Office 365, for .NET and JavaScript. You can read the announcement for the new <a href=\"https:\/\/aka.ms\/ClientLibraries\">Office 365 client libraries<\/a> on the <a href=\"http:\/\/blogs.office.com\/dev\/\">Office Developer Blog<\/a>. The .NET Client libraries support WPF, Windows Forms, Windows Store, Xamarin.iOS, Xamarin.Android and ASP.NET apps and Portable Class Libraries, and are delivered via NuGet.<\/p>\n<ul>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.Exchange\/\">Microsoft Office 365 Mail, Calendar and Contacts Library for .NET<\/a><\/div>\n<\/li>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.MyFiles\/\">Microsoft Office 365 My Files Library for .NET<\/a><\/div>\n<\/li>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.UsersGroups\/\">Microsoft Office 365 Users and Groups Library for .NET<\/a><\/div>\n<\/li>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.OAuth.Windows\/\">Microsoft Office 365 Authentication Library for .NET (Windows Store, Windows Desktop)<\/a><\/div>\n<\/li>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.OAuth.AspNet\/\">Microsoft Office 365 Authentication Library for ASP.NET<\/a><\/div>\n<\/li>\n<li>\n<div align=\"left\"><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Office365.OAuth.Xamarin\/\">Microsoft Office 365 Authentication Library for .NET (Android and iOS)<\/a><\/div>\n<\/li>\n<\/ul>\n<p>We have also provided an integrated experience for adding these libraries to your apps within Visual Studio. Services require app registration, permission selection and a platform-specific user authentication experience. You also need to add the right client libraries to your app. The Visual Studio experience takes care of all of that for you, as part of the Connected Services Manager, displayed below.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image010\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/3034.clip_image010_208211B4.png\" alt=\"clip_image010\" width=\"624\" height=\"429\" border=\"0\" \/><\/p>\n<p>You can learn how to start using this experience from the <a href=\"https:\/\/aka.ms\/ClientLibraries\">Office Developer blog<\/a>. We are using <a href=\"http:\/\/stackoverflow.com\/questions\/tagged\/Office365APIs\">StackOverflow<\/a> as the community forum for this project, under the <a href=\"http:\/\/stackoverflow.com\/questions\/tagged\/Office365APIs\">Office365APIs tag<\/a>. Please tell us what you think about the client libraries and the new Visual Studio integration. Do note that these libraries, and the Office services they are targeting, are in Preview and don\u2019t yet support production apps.<\/p>\n<h2>Summary<\/h2>\n<p>On the .NET team, we\u2019re excited to be sharing the Next Generation of .NET. As you can see from this post and the one we <a href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/04\/03\/the-next-generation-of-net.aspx\">published at Build<\/a>, we are lining up a significant set of technologies, features and scenarios that will be part of .NET vNext, our next major release of the .NET Framework. In this post, we focused on ASP.NET vNext, our next generation Web and services platform.<\/p>\n<p>For .NET vNext, we\u2019ve been talking about major features and asking for feedback before we even announced the larger release. We\u2019ve been actively engaging with experts and enthusiasts in our preview and pre-release programs to validate our ideas and product directions. It\u2019s turned out to be a great approach. The feedback has been incredible. Thanks to everyone that has participated in our CTPs, developer previews, pre-releases and any other program we ran to collect feedback. We\u2019ve also received great feedback in blog comments. It\u2019s all been very helpful. Do expect multiple additional preview releases over the coming months, particularly for ASP.NET vNext. It\u2019s going to be a fun time.<\/p>\n<p>You can see how these technology investments come together into a single .NET Framework release, in the following slide that we showed at TechEd. Open Source is also an important part of our plans, as you can see with our ASP.NET vNext contribution plans with <a href=\"http:\/\/www.dotnetfoundation.org\/\">the .NET Foundation<\/a>. The future looks very bright for .NET.<\/p>\n<p><img decoding=\"async\" style=\"border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none\" title=\"clip_image011\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2014\/05\/5280.clip_image011_02375ABE.png\" alt=\"clip_image011\" width=\"653\" height=\"367\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (July 2015):\u00a0See\u00a0Announcing .NET Framework 4.6\u00a0to read about the latest version of the NET Framework. Today at TechEd North America, we announced the latest set of innovations that are part of the next generation of .NET. The biggest of those is ASP.NET vNext, which [&hellip;]<\/p>\n","protected":false},"author":11288,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685],"tags":[30,31,34,37,47,53,55,88,104,108,110,117,121,147,156,162],"class_list":["post-383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","tag-announcement","tag-asp-net","tag-asp-net-web-api","tag-azure","tag-clr","tag-compiler","tag-conferences","tag-jit","tag-nuget","tag-performance","tag-portable-class-libraries","tag-releases","tag-ryujit","tag-visual-studio","tag-windows-store","tag-xamarin"],"acf":[],"blog_post_summary":"<p>Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (July 2015):\u00a0See\u00a0Announcing .NET Framework 4.6\u00a0to read about the latest version of the NET Framework. Today at TechEd North America, we announced the latest set of innovations that are part of the next generation of .NET. The biggest of those is ASP.NET vNext, which [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/383","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\/11288"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/383\/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=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}