{"id":113,"date":"2014-05-12T00:35:51","date_gmt":"2014-05-12T00:35:51","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/cesardelatorre\/2014\/05\/12\/the-future-of-net-in-the-server-asp-net-vnext-optimized-for-cloud-and-server-workloads\/"},"modified":"2014-05-12T00:35:51","modified_gmt":"2014-05-12T00:35:51","slug":"the-future-of-net-in-the-server-asp-net-vnext-optimized-for-cloud-and-server-workloads","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/the-future-of-net-in-the-server-asp-net-vnext-optimized-for-cloud-and-server-workloads\/","title":{"rendered":"The Future of .NET in the Server: ASP.NET vNext optimized for Cloud and Server workloads"},"content":{"rendered":"<p>Before getting into \u201cThe future of .NET in the server\u201d, I want to highlight how the ASP.NET and Web Tools teams just released great RTM ASP.NET stuff (final version). Specifically, <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/05\/13\/improvements-to-asp-net-web-forms.aspx\">Improvements to ASP.NET Web Forms<\/a> and many other <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/05\/12\/announcing-new-web-features-in-visual-studio-2013-update-2-rtm.aspx\">new features for ASP.NET in general<\/a>, all of that final\/RTM as part of Visual Studio 2013 UPDATE 2 RTM, released during this week in TechEd NA 2014.<\/p>\n<p>But, <strong>in this blog post I want to focus on the \u201cFuture of .NET and ASP.NET\u201d<\/strong>. A sneak peak or preview of ASP.NET vNext and .NET vNext in the Server. <\/p>\n<p>The ASP.NET and .NET teams joined forces for this effort, and are taking advantage of the great innovation at the .NET core, like the .NET Compiler Platform (\u201cRoslyn\u201d), and impressive improvements in the runtime\/CLR and framework especially made for server workloads.<\/p>\n<p>So, <strong>this week, at TechEd NA North America (May 12-15 2014), we\u2019re announcing the next generation of .NET on the Server, a new wave of ASP.NET vNext and .NET vNext in the server<\/strong>. These news are about early previews (ALPHA) and it will be evolving during the upcoming months (therefore, many things could also change). But, this is the first public disclosure about \u201cthe future of .NET in the server\u201d, like I said. <\/p>\n<p>ASP.NET vNext is an evolution of ASP.NET. Everything you know today about ASP.NET will apply to ASP.NET vNext. You can use the existing libraries or the new versions for those libraries in .NET vNext and get immediate benefits. <\/p>\n<p>However, modern web development demands a simple, lean development experience built on top of a composable framework. <\/p>\n<p>Below I show a diagram that I made for the TechEd announcement, summarizing the future of .NET, where <strong>ASP.NET vNext focuses especially on the \u201cCloud optimized\u201d area (right-below), with pillars like high throughput, small foot-print, side by side execution and \u201ccross-platform enabled\u201d<\/strong>. I\u2019ll drill down on those topics in this post.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/1220.image_18CC259C.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/3515.image_thumb_33EBBAE7.png\" width=\"784\" height=\"437\" \/><\/a> <\/p>\n<\/p>\n<p>Then, focusing just on ASP.NET vNext, you can see below a simplified ASP.NET vNext stack diagram. <\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/3060.image_5A5EA733.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/3652.image_thumb_00F147A2.png\" width=\"856\" height=\"473\" \/><\/a> <\/p>\n<p>A very important news to highlight is that MVC, Web API and Web Pages now share a unified core, they are merged, in fact. For instance, there\u2019s now a single type of controller. This will allow a much better and unified developer experience. This includes:<\/p>\n<ul>\n<li>One routing system, one model binding system, one filter pipeline, etc. <\/li>\n<li>Smooth transition from Web Pages to MVC <\/li>\n<li>Return HTML as views (HTML) or data (JSON or XML) for HTTP Services.<\/li>\n<\/ul>\n<h2>How is ASP.NET vNext optimized for the cloud and server? <\/h2>\n<p>We\u2019re adding a cloud-optimized (public cloud, private cloud, any cloud, or you can also say server-scale specialized) version optimized for server scenarios like low-memory and high-throughput.<\/p>\n<p>These are the main pillars of .NET vNext and ASP.NET vNext (cloud optimized): <\/p>\n<p>\u2022 <strong>Slim .NET stack optimized for cloud and server workloads<\/strong> based on: <\/p>\n<blockquote>\n<p>&#8211; <strong>Optional small Core CLR<\/strong> that only contains fundamental building blocks <\/p>\n<p>&#8211; Support of <strong>true side by side execution of the framework (even self-contained per application)<\/strong>, that allows breaking changes scenarios <\/p>\n<p>&#8211; Enables best-of-breed performance and scalability with a <strong>high resource-efficient optimization<\/strong> <\/p>\n<\/blockquote>\n<p>\u2022 <strong>Seamless and \u201cby default\u201d integration with Microsoft Azure and Windows Server through simplified configuration<\/strong>. There won\u2019t be different configuration for each environment, that\u2019s why it is \u201cCloud-First driven\u201d. <\/p>\n<p>\u2022 Rich ecosystem of <strong>composable NuGet packages. Libraries and even the CLR are now NuGet packages!<\/strong> \ud83d\ude42 <\/p>\n<p>\u2022 <strong>Open Source<\/strong> accepting contributions! <\/p>\n<p>\u2022 <strong>End to end decoupled stack<\/strong> (ASP.NET and .NET) <strong>based on Dependency Injection<\/strong>, so the same ASP.NET application could be running on different CLRs and even different platforms\/OS. <\/p>\n<p>\u2022 It will be <strong>cross-platform enabled (Windows plus other different OS like MAC and LINUX supported by MONO)<\/strong>, thanks to its mentioned decoupled nature and openness. <\/p>\n<p>The following stack diagram shows how these\u201ccloud optimized\u201d features applies to ASP.NET VNext (not taking into account cross-platform characteristics, just yet):<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/4265.image_1C12D626.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/7380.image_thumb_05C4214D.png\" width=\"827\" height=\"504\" \/><\/a> <\/p>\n<p>It is important to note that currently, the ASP.NET frameworks that will be \u201ccloud optimized enabled\u201d with that optional slim and lightweight stack, will be MVC, Web API, Web Pages and SignalR. Since ASP.NET Web Forms will still be coupled to System.Web, it cannot be part of this \u201ccloud optimized\u201d stack. But, Web Forms is in any case part of ASP.NET vNext, too, and will provide many new features and innovation in the next version, as well (like <a href=\"http:\/\/blogs.msdn.com\/b\/webdev\/archive\/2014\/05\/13\/improvements-to-asp-net-web-forms.aspx\">we just did in VS UPDATE 2 and new features for Web Forms<\/a>). <\/p>\n<p>Also, current plug of the Core-CLR on top of IIS is \u201cHelios\u201d, but there will be an IIS Native Module in the future, too.<\/p>\n<h2>How will I be able to adopt ASP.NET vNext in my new applications even when my servers are running older versions of .NET? <\/h2>\n<p>The goodness of ASP.NET vNext is that you\u2019ll be able to have business applications with certain sub-systems running on the established <i>ASP.NET<\/i> and <i>System.Web<\/i> and other newer sub-systems running on the new ASP<i>.NET vNext<\/i>, all within the same server and IIS infrastructure or self-hosted in your own process. <\/p>\n<p>Therefore, ASP.NET vNext will let you deploy your own version of the .NET Framework on an app-by-app-basis. One app with new libraries can\u2019t break an app \u201cnext door\u201d with a different version. Different apps can even have their own cloud-optimized CLR of their own version. <\/p>\n<p>This is why it is a true side by side execution, when using ASP.NET vNext, different applications can use different versions of the framework without affecting each other and each application runs against the framework it references and deployed with (self-contained, like XCOPY).<b> By using the side by side execution of ASP.NET vNext, you decide when you adopt .NET updates on an app basis (as opposed to machine basis)<\/b>. <\/p>\n<h2>NuGet packages go \u201cmainstream\u201d <\/h2>\n<p>NuGet is going mainstream in this new wave of ASP.NET. <strong>The CLR and cloud-optimized libraries are NuGet packages<\/strong>!<\/p>\n<p>Something cool is that without changing references in your code, you\u2019ll be able to swap a NuGet package (like the folders below within my application) to just its related source code (like OSS source code related to any NuGet package) and your application will work the same way, directly, no need to change references at all. For example, , let\u2019s say NuGet package CompanyX.CoolLib has a bug but you were initially using just the NuGet package. Then, you realized that this NuGet package is OSS so you could grab the code and debug it!. You just need to make a folder called CompanyX.CoolLib in your local project and put the source code you got in that folder. This is great for open source projects. <strong>That local version of source code overrides the original NuGet package, allowing you to easily patch bugs locally in libraries while you wait for a new release.<\/strong> When a new fixed NuGet-distributed version shows up, update the version and delete the local source. Isn\u2019t it cool! \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/6114.image_14FBE547.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/5187.image_thumb_1FBBCD4D.png\" width=\"735\" height=\"480\" \/><\/a> <\/p>\n<p>Therefore, each ASP.NET vNext application needs to describe its dependencies to packages. For that, the project system is also changing &#8211; we\u2019re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into <strong>a unified view of your project dependencies <\/strong>expressed in a project.json file. <\/p>\n<p>NuGet packages and class libraries are treated the same. You get full intellisense in the project.json file and NuGet packages come down automatically and transparently. Below I show an example of the JSON file defining the project references\/dependencies (named <strong>Project.json<\/strong>): <\/p>\n<p><strong><font size=\"3\" face=\"Consolas\">&quot;dependencies&quot;: { <\/font><\/strong><\/p>\n<p> <font size=\"3\" face=\"Consolas\"><\/font>  <\/p>\n<p><strong><font size=\"3\" face=\"Consolas\">&quot;Helios&quot;: &quot;0.1-alpha-build-0530&quot;, <\/font><\/strong><\/p>\n<p> <font size=\"3\" face=\"Consolas\"><\/font>  <\/p>\n<p><strong><font size=\"3\" face=\"Consolas\">&quot;Microsoft.AspNet.Mvc&quot;: &quot;0.1-alpha-build-1115&quot;, <\/font><\/strong><\/p>\n<p> <font size=\"3\" face=\"Consolas\"><\/font>  <\/p>\n<p><strong><font size=\"3\" face=\"Consolas\">&quot;Microsoft.AspNet.RequestContainer&quot;: &quot;0.1-alpha-build-0512&quot; <\/font><\/strong><\/p>\n<p> <font size=\"3\" face=\"Consolas\"><\/font>  <\/p>\n<p><font size=\"3\"><font face=\"Consolas\"><strong>},<\/strong> <\/font><\/font><\/p>\n<p> <font size=\"3\" face=\"Consolas\"><\/font>  <\/p>\n<p><font size=\"3\" face=\"Consolas\">\u2026\u2026<\/font> <\/p>\n<h2>Example: The same application running Side by Side on different framework versions <\/h2>\n<p>Here I created an example of a Hello World ASP.NET vNext MVC app that I\u2019m running self-hosted (web server in a console app), where I\u2019m running different framework versions per execution (it is even the same code).<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/4606.image_790F0559.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/2577.image_thumb_4CF20868.png\" width=\"879\" height=\"459\" \/><\/a> <\/p>\n<p>This alpha includes command line tools for running and managing ASP.NET vNext apps. That is what I used in order to select the framework version I want to use from each app.<\/p>\n<p>The &quot;kvm&quot; command allows me to control my environment. I run &quot;kvm list&quot; to see what versions of the ASP.NET vNext are available. I can switch between them on a per-environment basis:<\/p>\n<pre>C:\\&gt;kvm list<br \/><br \/>Active Version              Runtime Architecture Location<br \/>------ -------              ------- ------------ --------<br \/>       0.1-alpha-build-0420 svr50   x86          C:\\Users\\cesardl\\.kre\\packages<br \/>  *    0.1-alpha-build-0420 svrc50  x86          C:\\Users\\cesardl\\.kre\\packages<br \/>       0.1-alpha-build-0421 svr50   x86          C:\\Users\\cesardl\\.kre\\packages<br \/>       0.1-alpha-build-0421 svrc50  x86          C:\\Users\\cesardl\\.kre\\packages<\/pre>\n<p>I set the active version with &quot;kvm use version&quot; and opened two command prompts, setting different CLR and .NET versions in each.<\/p>\n<p>You can also see below, that I have several framework versions available in my machine and I could run my app on any of them:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/2766.image_0C9FC203.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/7433.image_thumb_49C37D88.png\" width=\"837\" height=\"420\" \/><\/a> <\/p>\n<p>Or, the selected framework could also be self-contained by my application, so I don\u2019t need to require any framework installation in any server before I can deploy my application.<\/p>\n<h2>Why should I use ASP.NET vNext? What are the benefits?<\/h2>\n<p>Depending on your application scenarios you may benefit of some or most of the features provided by .NET vNext in the Server, as explained below.<\/p>\n<h2>Cloud optimized scenario: High performance for web applications and services<\/h2>\n<p>As organization that needs to scale out to thousands of concurrent users, ASP.NET vNext (cloud optimized) will provide best of breed in performance thanks to its light and optimized architecture, while leveraging high scalability based on its small resources\u2019 foot-print (minimum amount of memory required) and optimized related light frameworks for data access (Entity Framework vNext).<\/p>\n<h2>Fast\/agile development and deployment scenario (Modern Web Development)<\/h2>\n<p>As cloud developer, frequent deployment to the cloud is very common. <i>ASP.NET vNext <\/i>allows fast development with an optional way of working that goes this way: \u201c<i>Change C# code, save .cs file, refresh browser<\/i>\u201d, with no explicit compilation required in Visual Studio. This is handled transparently in the web server environment (either development machine or server) thanks to a fast in-memory compilation performed by the .NET Compiler Platform (\u201cROSLYN\u201d). As I mentioned, this is optional. You can also compile and deploy the assemblies, but for development scenarios is pretty straight forward.<\/p>\n<p>This scenario is very convenient for development\/testing stages with a high rate of changes. You could even use a browser-based code editor (like \u201cMonaco\u201d in Visual Studio Online) to make these live updates (\u201c<i>Change a C# .cs file in your site, refresh your browser<\/i>\u201d experience).<\/p>\n<p align=\"center\"><strong>Updating C# code into development machine or dev\/staging web server<\/strong><\/p>\n<p align=\"center\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/8037.image_33FC25DC.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/5226.image_thumb_4B2A310B.png\" width=\"743\" height=\"266\" \/><\/a> <\/p>\n<p>With that, we achieve the following features:<\/p>\n<p><b>Quick code changes and site updates:<\/b> <\/p>\n<blockquote>\n<p>\u2022 Fast iterative development \u2013 modify code and refresh the browser in near real time <\/p>\n<p>\u2022 Leverage dynamic in-memory server compilation while developing <\/p>\n<p>\u2022 Developer can change a controller (Web API or MVC), refresh their browser in &lt;2 seconds without an explicit build in Visual Studio. <\/p>\n<p>\u2022 App can be edited in \u201cMonaco\u201d (cloud) <\/p>\n<p>\u2022 App code can be published to Azure from a source code repository (VSOnline, etc.)<\/p>\n<\/blockquote>\n<p>After running an ASP.NET vNext application, you could take a look to the \/Bin folder, and you\u2019ll be surprised!. It is empty! <\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/0447.image_5824111C.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/6266.image_thumb_6113A35B.png\" width=\"796\" height=\"344\" \/><\/a> <\/p>\n<p>NOTE: This is not just ASP.NET Websites, or Razor View compilation &#8211; this is any C# code, any C# class library, compiled in memory in the moment you run the app and it realizes it has new C# code. (Of course, if you want to deploy assemblies\/DLLs on disk, you can do that too.)<\/p>\n<p>This new way allows to use any text editor, like Sublime, or a simple Notepad!. But, of course, Visual Studio will provide the best end-to-end development experience. <\/p>\n<h2>No friction when moving to the cloud<\/h2>\n<p>Moreover, by using ASP.NET vNext, all features will work by default in Azure and Windows Server in the same way (session, cache, storage, security configuration and cloud diagnostics) so as a developer I don\u2019t need to think about \u201cthe cloud way\u201d if I\u2019m moving an app to the cloud, it just works by default in the cloud and on-premises with no changes required depending on the environment. This approach makes it easier to transition from an on-premises application to an Azure cloud app, as the ASP.NET frameworks and API are completely unified.<\/p>\n<h2>Application density increase per server for multi-tenant and high scalable cloud-based organizations<\/h2>\n<p>As organization based on the cloud (public or private) or web hoster offering multi-tenant services, one of the main goals is to minimize the amount of resources required to run the apps (servers and persistence support) by increasing application density and resource utilization in data centers. <\/p>\n<p>By supporting <i>ASP.NET vNext<\/i> (cloud optimized) applications, the organization can drastically have a more efficient support of large numbers of applications thanks to the new <i>.NET vNext<\/i> light footprint and optimization for server workloads.<\/p>\n<p>The organization can also deploy zero-day patches as needed to ensure the hosting environment stays secure. <\/p>\n<h2>Improved Entity Framework vNext: Lightweight data access framework <\/h2>\n<p>Even when EF can be used from any environment or application type, the new EF vNext is very related to this new wave in .NET and follows the same principles. It is also a very lightweight Entity Framework with a much smaller footprint.<\/p>\n<p>Main features in EF vNext related to ASP.NET vNext:<\/p>\n<blockquote>\n<p>\u2022 Lightweight\/modern data stack<\/p>\n<p>\u2022 Designed for server and cloud apps. Also for any device (Windows Phone\/Store)<\/p>\n<p>\u2022 Leverages existing API skills and development experience<\/p>\n<p>\u2022 Easy to move most existing apps<\/p>\n<\/blockquote>\n<p>There will be other additional features about EF vNext that I\u2019m not mentioning here, related to devices and different types of data sources.<\/p>\n<h2>Cross-Platform development (Mac and Linux based on \u201cMono Project\u201d implementation)<\/h2>\n<p>Any organization who is building products running on the server will be able to develop ASP.NET vNext web apps or services using different operating systems (Windows, Linux or MAC OS X based on \u201cMono Project\u201d). <\/p>\n<p>The following is a simplified diagram of how ASP.NET vNext is cross-platform enabled thanks to its end-to-end use of dependency injection across the stack:<\/p>\n<p align=\"center\">ASP.NET vNext is <i>Cross-Platform enabled<\/i><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/7356.image_70B63F1D.png\"><img decoding=\"async\" title=\"image\" style=\"margin-right: auto;margin-left: auto;float: none\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/6114.image_thumb_24EA6864.png\" width=\"478\" height=\"332\" \/><\/a><\/p>\n<p><i><\/i><i><\/i><\/p>\n<p>You can see below how I\u2019m running a ASP.NET vNext MVC application on a MAC thanks to MONO:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/0842.image_603DCE22.png\"><img decoding=\"async\" title=\"image\" style=\"margin-right: auto;margin-left: auto;float: none\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/6574.image_thumb_1DCDBC9D.png\" width=\"674\" height=\"378\" \/><\/a><\/p>\n<p>While Mono isn&#8217;t a project from Microsoft, we\u2019re collaborating with the Mono team in order to make this possible. It&#8217;s our aspiration that it &quot;just works&quot; on other operating systems.<\/p>\n<p>ASP.NET vNext is decoupled from the underneath platform thanks to its end-to end use of Dependency Injection across the whole stack. A few details of DI in ASP.NET are shown below.<\/p>\n<h2>Dependency Injection and IoC Containers in ASP.NET vNext<\/h2>\n<p>\u2022 Built-in DI for configuring services\/libraries<\/p>\n<p>\u2022 Environment specific services can be configured through dependency injection<\/p>\n<p>\u2022 You can still wire up your favorite IoC container<\/p>\n<p>\u2022 Admins can locally patch an application without requiring the application to recompile, and with negligible downtime to the application.<\/p>\n<p>\u2022 Applications are not locked into a patched version &#8211; newer versions of patched components can still be used<\/p>\n<p>\u2022 Since Dependency Injection is applied end-to-end thru the .NET stack, that enables cross-platform to ASP.NET vNext, like mentioned (Windows, MAC, Linux).<\/p>\n<p>These are the main principles used to shaped the new runtime:<\/p>\n<ul>\n<li>\n<p>The runtime should be as self-contained as possible. Until the runtime has walked the application dependency tree of your application it cannot know which of the Core CLR packages you want to use, so it cannot load any of them before that. Except for Roslyn, since the dependency resolver that uses Roslyn doesn\u2019t actually load Roslyn until after the dependencies have been walked.<\/p>\n<\/li>\n<li>\n<p><strong>Dependency Injection through the entire stack. DI is a core part of the Runtime, and all libraries we build on top of it<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<h2>Openness<\/h2>\n<p>At the end of the day, you\u2019ll be able to opt in or out of the cloud optimized framework for compatibility, or the libs you want to use, or even the tools!. <\/p>\n<p><strong>The next version of ASP.NET is modular and all about choice. your choice of operating system, your choice of framework, your choice of tools\/Editor. <\/strong><\/p>\n<p><strong>It is all about openness<\/strong>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/3162.image_0A81F6E3.png\"><img decoding=\"async\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/32\/2019\/03\/7701.image_thumb_5ED12CE6.png\" width=\"788\" height=\"291\" \/><\/a> <\/p>\n<p>But, of course, on top of these foundations we\u2019re introducing, Visual Studio will continue to provide the rich IDE experience for ASP.NET vNext that has made ASP.NET with Visual Studio a great environment for developing compelling web sites, apps and services. \n  <br \/> And the deep and broad range of investments in .NET we are making bring one of the most exciting moments in time for the .NET ecosystem, as a development platform.&#160; <\/p>\n<p>GOOD TIMES FOR .NET! \ud83d\ude42 <\/p>\n<\/p>\n<h2>RESOURCES about ASP.NET vNext<\/h2>\n<p>Currently, you can just use the COMMAND-LINE tools available in the links below. There\u2019s no public Visual Studio tooling available, but ASP.NET vNext tooling will be available pretty soon, in a few weeks (June 2014 timeframe), probably.<\/p>\n<h2>TechEd North America 2014 sessions focusing on ASP.NET vNext<\/h2>\n<p><strong>INTRODUCING: The Future of .NET on the Server (By Scott Hanselman and Scott Hunter)<\/strong><\/p>\n<p><a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/DEV-B385#fbid=\">https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/DEV-B385#fbid=<\/a><\/p>\n<p><strong>DEEP DIVE: The Future of .NET on the Server (By Scott Hanselman and David Fowler)<\/strong><\/p>\n<p><a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/DEV-B411#fbid=\">https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/DEV-B411#fbid=<\/a><\/p>\n<p><strong>Microsoft Development Platform &#8211; Foundational session (By Scott Hanselman)<\/strong><\/p>\n<p><a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/FDN05#fbid\">https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2014\/FDN05#fbid<\/a>=<\/p>\n<p>This last foundational session covers a lot more than .NET in the Server. It covers the whole end-to-end Microsoft development platform vision, including devices\/apps development, Azure scenarios, etc., rather than just .NET in the server.<\/p>\n<\/p>\n<h2>Bits\/Code and early alpha Documentation<\/h2>\n<p>Deeper details: <a title=\"https:\/\/github.com\/aspnet\/Home\/wiki\" href=\"https:\/\/github.com\/aspnet\/Home\/wiki\">https:\/\/github.com\/aspnet\/Home\/wiki<\/a><\/p>\n<p>Bits and OSS source-code: <a title=\"https:\/\/github.com\/aspnet\/KRuntime\" href=\"https:\/\/github.com\/aspnet\/KRuntime\">https:\/\/github.com\/aspnet\/KRuntime<\/a>&#160;<\/p>\n<p>Getting started: <a title=\"https:\/\/github.com\/aspnet\/Home\" href=\"https:\/\/github.com\/aspnet\/Home\">https:\/\/github.com\/aspnet\/Home<\/a>&#160;<\/p>\n<\/p>\n<h2>Additional links on .NET vNext<\/h2>\n<p><a title=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/05\/12\/the-next-generation-of-net-asp-net-vnext.aspx\" href=\"http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/05\/12\/the-next-generation-of-net-asp-net-vnext.aspx\">http:\/\/blogs.msdn.com\/b\/dotnet\/archive\/2014\/05\/12\/the-next-generation-of-net-asp-net-vnext.aspx<\/a>&#160;<\/p>\n<p><a title=\"http:\/\/www.hanselman.com\/blog\/IntroducingASPNETVNext.aspx\" href=\"http:\/\/www.hanselman.com\/blog\/IntroducingASPNETVNext.aspx\">http:\/\/www.hanselman.com\/blog\/IntroducingASPNETVNext.aspx<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before getting into \u201cThe future of .NET in the server\u201d, I want to highlight how the ASP.NET and Web Tools teams just released great RTM ASP.NET stuff (final version). Specifically, Improvements to ASP.NET Web Forms and many other new features for ASP.NET in general, all of that final\/RTM as part of Visual Studio 2013 UPDATE [&hellip;]<\/p>\n","protected":false},"author":362,"featured_media":12806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cesardelatorre"],"acf":[],"blog_post_summary":"<p>Before getting into \u201cThe future of .NET in the server\u201d, I want to highlight how the ASP.NET and Web Tools teams just released great RTM ASP.NET stuff (final version). Specifically, Improvements to ASP.NET Web Forms and many other new features for ASP.NET in general, all of that final\/RTM as part of Visual Studio 2013 UPDATE [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/users\/362"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/media\/12806"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cesardelatorre\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}