Scott Hanselman

Introducing ASP.NET vNext

May 12, 2014 Comment on this post [147] Posted in ASP.NET | ASP.NET MVC | ASP.NET Web API | Open Source
Sponsored By

There’s some really cool stuff going on on the ASP.NET and Web Tools team. The team has been pushing open stuff at Microsoft for a few years now and we've joined forces with the amazing innovators from the .NET core team and beyond! Some of these features are 10+ years in the making from a host of technical wizards across many teams and disciplines.

Today we’re announcing a preview (read: alpha) of the next generation of .NET on the Server.

You may have heard about some of these announcements at Build:

ASP.NET vNext will take things to the next level. Today, you run ASP.NET using the same CLR that desktop apps use. We’re adding a cloud-optimized (my cloud, your cloud, their cloud - server stuff) version optimized for server scenarios like low-memory and high-throughput.

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’t break an app next door with a different version. Different apps can even have their own cloud-optimized CLR of their own version. The CLR and cloud-optimized libraries are NuGet packages!

In this screenshot you can see build 418 and build 420 of the new framework (note how small they are) in my packages folder. These NuGet packages include the complete "Core CLR" and the cloud-optimized .NET Framework. You can deploy your own CLR and .NET Framework with your app as a NuGet.

Holy crap it's ASP.NET vNext

I can run ASP.NET vNext apps within Visual Studio, of course, and within IIS, but I can also easily "self-host" them from the command line or within my own application. This alpha includes command line tools for running and managing ASP.NET vNext apps.

The "kvm" command allows me to control my environment. I run "kvm list" to see what versions of the ASP.NET vNext are available. I can switch between them on a per-environment basis:

C:\>kvm list

Active Version Runtime Architecture Location
------ ------- ------- ------------ --------
0.1-alpha-build-0418 svr50 x86 C:\Users\scottha\.kre\packages
* 0.1-alpha-build-0418 svrc50 x86 C:\Users\scottha\.kre\packages
0.1-alpha-build-0420 svr50 x86 C:\Users\scottha\.kre\packages
0.1-alpha-build-0420 svrc50 x86 C:\Users\scottha\.kre\packages

I set the active version with "kvm use version" and opened two command prompts, setting different CLR and .NET versions in each.

I’m running the same app twice, once per command prompt. I put version 420 on port 5420 and version 418 on port 5418.

Two Command Prompts two .NET Frameworks

This little app below outputs the current running version of ASP.NET vNext. Here I’m running the same app at the same time under different builds of the next generation of ASP.NET

Two URLs two .NET Frameworks

The project system is also changing - we’re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into a unified view of your project dependencies expressed in a project.json file.

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. Even better, let’s say NuGet package Foo.Bar has a bug but you’ve only got the NuGet package. You can make a folder called Foo.Bar in our local project and put the source via "git clone" in that folder. This is great for open source projects. That local version overrides the NuGet, allowing you to easily patch bugs locally in libraries while you wait for a new release. When a new fixed NuGet-distributed version shows up, update the version and delete the local source.

New project system

One of the great aspects of environments like node or rails is that they are "no compile." Just change some code and hit refresh. With the next version of ASP.NET you get the power and throughput of the .NET runtime plus the "Roslyn" compiler-as-a-service for a "no-compile compile." That means means during development time you can just change your C# classes and hit Refresh in the browser. It's the power of .NET with the dynamism of a refresh-and-go development experience.

NOTE: This isn't ASP.NET Websites, or Razor View compilation - this is the whole thing, compiled in memory. You can use Visual Studio for development, or text editors like Sublime, or freakin' Notepad. (Of course, if you want assemblies on disk, you can do that too.)

See my web app’s bin folder in the screenshot below? There’s no assemblies in there because the assemblies never exist on the disk. It’s actually faster and easier to have the compiler do all the work in memory. This way you don’t have to read source, write out dlls, then read the dlls in again. (That DLL is part of the magic that makes it all happen.)

No binaries on disk!

If you like, when your web projects build for deployment, they can also build as NuGet packages. You publish your project and every needed dependency comes along.

You’ll be able to put ASP.NET vNext on your existing servers, any hoster, and Azure of course.

You can opt in or out of the cloud optimized framework for compatibility. The next version of ASP.NET is modular and all about choice. your choice of framework, your choice of runtime, your choice of operating system, your choice of text editor.

ASP.NET vNext is:

  • Cloud and server-optimized
  • ASP.NET MVC and Web API have been unified into a single programming model
  • No-compile developer experience
  • Dependency injection out of the box
  • Side by side - deploy the runtime and framework with your application
  • NuGet everything - even the runtime itself
  • All Open Source via the .NET Foundation and takes contributions

Oh, and by the way

  • ASP.NET vNext (and Rosyln) runs on Mono, on both Mac and Linux today. While Mono isn't a project from Microsoft, we'll collaborate with the Mono team, plus Mono will be added to our test matrix. It's our aspiration that it "just work."
ASP.NET on a Mac

There will be lots of new information and details coming out over the next several months!


Sponsor: Many thanks to Izenda for sponsoring the blog feed this week! Intuitive Ad Hoc Reporting with Stunning Visualizations - Embed real time dashboards into your ASP.NET applications for easy, custom reports across all devices. Download a FREE TRIAL of Izenda Today!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
May 12, 2014 20:18
Looking extremely quick and useful approach.

Thanks Scott for the nice peak in future.
May 12, 2014 20:22
This is awesome. Really loving where the new Microsoft is heading. Good stuff. Can't wait to hear more about this.
May 12, 2014 20:30
Very cool! Definitely moving forward in the right direction.
May 12, 2014 20:32
Very Cool .. Is Project “Helios" named as ASP.NET vNext?
May 12, 2014 20:32
How is this no-compile experience different than the existing Web Site project within Visual Studio? Is Visual Studio not going to produce DLLs by default, even for web application projects?
May 12, 2014 20:37
That's incredible.

I was really missing ASP.Net on linux.

This is the right direction for future Microsoft!
May 12, 2014 20:41
Freaking amazing. This is a culmination of what I've wanted .NET to be for years. It's nice to see Microsoft listening and back on its toes again.

Michael
May 12, 2014 20:42
This is awesome Scott! I feel like this is a great move by the ASP.NET team and Microsoft. I'm really looking forward to RTM.

-Keith
May 12, 2014 20:44
Gawd... so many great things coming up.
I'm eagerly waiting for more info with the server optimized .NET and the ASP.NET MVC/Web API unification. Thank you for all of your hard work!
May 12, 2014 20:46
Project.json is awesome. Please finally kill all the XML project/solution files.

Does vNext finally break the dependency on VS to build ASP.NET projects? Seems silly to install VS Shell on an automated build server just to show HTML. (Likewise, MSTest also requires VS to build)
May 12, 2014 20:49
Although YAML is a better option for config files since it's a superset of JSON. All those curly braces and quotes get tedious fast. JSON syntax is also extremely rigid, especially if you're used to writing object notation in regular JS code.
May 12, 2014 20:56
This is awesome!

As for yaml, it has had some serious security issues in the rails framework which lead to remote code execution. I'm sure this problem has been resolved, but I'd hope they stick with json as its less likely to open holes in applications.
May 12, 2014 21:13
Collaboration with Mono team is what I am most happy about :) Looking forward to seeing how this all turns out.
May 12, 2014 21:16
Pure awesome! I agree with the many comments already made: This is fantastic news for what the future holds in the .NET world! Having it work cross platform is the last step for.NET to become the best framework/development environment! Exciting times are ahead! Really liking this shiny new Microsoft. Good work Scott and everyone else pushing this direction! Nothing to stop the.NET train now. :)
May 12, 2014 21:16
Set to be perhaps the most important evolution to the .NET platform itself since 2.0! (IMO) *Not discounting what 3.5, 4.0 and 4.5[.1] did for us or the fact that vNext wouldn't exist without them, but I think the stream-lining features of vNext could make this the best release so far!
May 12, 2014 21:20
What does "Cloud and server-optimized" tangibly mean? Like if I'm using azure there'll be an azure optimized version of .net to use?
May 12, 2014 21:22
@jinushaun You could easily write a VS extension to read ".yaml" file changes and auto-gen the JSON for deployment, just like Web Essentials does with LESS, CoffeeScript, etc. Microsoft can't write it all for us :)
May 12, 2014 21:24
"ASP.NET MVC and Web API have been unified into a single programming model" I can't wait for this. The small mismatches between the two have become annoying over the past few releases. I'm really looking forward to see how they bridge the gap.
May 12, 2014 21:30
This is absolutely great stuff! I think you answered all the questions about the future of .NET platform and I think the answer is that the future is very bright!
May 12, 2014 21:35
Very amazing news Scott, thanks for the intro!

Like everyone here, I'm uber excited about some of these newer horizons that Microsoft is starting to chart!
May 12, 2014 21:36
Whilst I think this is great for a wider adoption of .Net and running and developing on on any platform there have been a few OSS projects including Nancy that have had a "unified programming model, DI out of the box and mono compatible".

Is there any nod to these OSS projects that they did it first and MS took inspiration from them.

This announcement is great but I get the impression the masses will receive it as "ooh, MS are really on the ball, aren't they great" and not realise small amounts of individuals do this thing as OSS and have it working well.
May 12, 2014 21:41
I like that the programming model has been unified and many features from Node have been adopted. Unfortunately, the programming model in ASP.NET MVC/WebAPI is itself broken. Inheriting from a base controller class and using methods to correspond to HTTP verbs is something that works well in demos, and can be made to work in production, with some pain, but there are far better models out there. Look at NancyFX for example.
May 12, 2014 21:42
Why pick a TLA that's used by the core pieces of one of the most popular virtualization technologies? It'll only make it more difficult to find information both on your "kvm" tool and on the kernel virtualization that ships on most Linux and Solaris-derived OSs.
May 12, 2014 21:58
Amazing! Microsoft are taking ASP.NET in such a great direction.
May 12, 2014 21:58
Hi Scott, exciting news! Just wanted to notify you of a small typo in the article:

That means means during development time you can just change your C# classes and hit Refresh in the browser.
May 12, 2014 22:06
Wow, you sure have been busy! It looks great - especially the part about being able to deploy ASP.NET via NuGet independently of what my hosting Company wants (or rather doesn't want) to install.
Now, if the client (non-WinRT) version is just a great, it will be huge.
May 12, 2014 22:12
Great news! Excited to explore!!
May 12, 2014 22:21
*mindblown*
Thanks for making ASP.NET the greatest platform for WebDev!
May 12, 2014 22:49
@Jonathan Channon: ASP.NET vNext is based on OWIN. I think this will allow Nancy and other frameworks to plug in easily. You should be able to use the Nancy framework instead of MVC or Web API, but still take advantage of everything else, like the "no compile" project system, NuGet integration, and the side by side, cloud-optimized version of the CLR and .NET Framework.
May 12, 2014 22:56
Thank you, Scott!

This is awesome! This new trend of news coming out of Microsoft and the .NET team is really exciting... :)
May 12, 2014 22:57
Looks like excellent ideas coming up. @shanselman What about hardware requirements?
May 12, 2014 23:16
Will this work with F#?
May 12, 2014 23:19
@Lev Broken is the wrong word when you're talking about your opinions.

Regardless, neither is an issue in this new model. You can create controllers without any base class, and you can map controller actions (API and MVC) without regard for HTTP verbs if you prefer.
May 12, 2014 23:23
Oh nice.

Does this mean I could slip some code onto a live production server without causing massive headaches with an entirely new deployment?

Oh I know, I know.. but real world sometimes demands patches need to be done NOW with a "proper" build done after hours.
May 12, 2014 23:23
Oh nice.

Does this mean I could slip some code onto a live production server without causing massive headaches with an entirely new deployment?

Oh I know, I know.. but real world sometimes demands patches need to be done NOW with a "proper" build done after hours.
May 12, 2014 23:26
I'd say this is bigger news that open sourcing Roslyn. Cudos!

Questions:

"Dependency injection out of the box" - what's behind that. Some new DI container with new API we need to learn ? Hope not!

"ASP.NET MVC and Web API have been unified into a single programming model" - will there be some breaking changes ?

"deploy your own version of the .NET Framework" - looks like we'll get a new CLR and that loading fw assemblies from GAC will need to change.
Maybe strong naming the assemblies will also be changed ?
May 12, 2014 23:36
The project system is also changing - we’re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into a unified view of your project dependencies expressed in a project.json file.


Is the project file going away? One of the reasons I like asp.net WebPages and the Web Site (not Web Application) model is because they are folder based. I didn't like that I was tied to a project file and needed VS.net to compile my project for deployment. With the Web Site model I also liked that I could just copy over changed files to my server.

This post sounds like things are moving more towards an environment where you can use any text editor to create an asp.net web site and we could forgo VS.net entirely if we wanted to? These updates sound non dissimilar to how RoR works. Also it sounds like these changes could make it easier for other text editors to support asp.net development? It would be awesome if something light weight like Sublime or Atom could get asp.net plugins for some code completion and nuget.
ed
May 12, 2014 23:38
Exciting news.
What about security/bugfix updates? Does it mean the we have to:
- periodically check for security/etc updates
- download fixed NuGet packages
- deploy to production
Previously, the updates were installed automatically via Windows Update System.

@Scott, do you have any internal information about cross-platform UI development (except Xamarin)? :) It would be great to have managed UI framework that can run on Windows/Mac/Linux
May 12, 2014 23:43
This is really huge!

.NET native & Linux support.

Travel back in time to 2005 and tell this to people. See how they react.
May 12, 2014 23:45
Awesome Scott!

Since last week I'm very anxious to talk about this release! In my opinion this is the biggest change and improvement in ASP.NET since your launch.

Very happy with the new era that is comming!!! ASP.NET will be the best plataform ever.
May 13, 2014 0:16
Well, after reading this post there's absolutely no reason to chose another stack over ASP.NET. I mean, not even the "it only runs on windows" excuse doesn't work anymore since Mono will be on the testing matrix. Amazing, really.
May 13, 2014 0:24
I don't care, just show me what's in your "Animated Gifs" folder...
May 13, 2014 0:25
> "All Open Source via the .NET Foundation and takes contributions"

Does that include System.Web?
May 13, 2014 0:30
So does this work with Web Forms?
May 13, 2014 0:33
What do these NuGet CLR versions mean for machine.config and machine.web.config?
May 13, 2014 0:45
"There will be lots of new information and details coming out over the next several months!"

Doesn't this seem contrary to developing open source libraries that take contributions? It is neat that you guys get to come up with all this cool stuff and share it with us (I'm excited!) but it does not help foster a community who regularly contributes and follows the development of ASP.NET.

Unless I'm missing something, where do I go to see roadmaps, repositories and discussions on this open source work?
May 13, 2014 0:54
This is the most exciting stuff I've heard about ASP.NET in a long long time! Feels good to be a .NET dev now! :)
May 13, 2014 1:26
Words can't express what I'm feeling right now :)
May 13, 2014 1:32
Eddie - Be happy. We'll publish the repo tomorrow.
May 13, 2014 2:24
Eddie - Be happy. We'll publish the repo tomorrow.


Awesome, can't wait Scott! :)
May 13, 2014 2:32
Wow, nice work! This no-compile and no dll change is very interesting. Will this work if changing C# files with Visual Studio Online or just local development only?
May 13, 2014 3:05
Great news, everything is getting better and better!
May 13, 2014 3:21
Hey Scott, when you say

Dependency injection out of the box


what is it? Ninject? StructureMap? Unity? Some other Microsoft built DI container?

In any case that's exciting!
May 13, 2014 3:25
Wow nice!!!!
node.js for .NET developers...
May 13, 2014 3:33
One of the great aspects of environments like node or rails is that they are "no compile." Just change some code and hit refresh. With the next version of ASP.NET you get the power and throughput of the .NET runtime plus the "Roslyn" compiler-as-a-service for a "no-compile compile."


I have been waiting for this for SO long!!!

Thank you!
May 13, 2014 5:30
All these vNext news just made my day!
I'm so glad that my view of the future of application (web, desktop, cloud or whatever) development matches Microsoft's!

And thank you Scott for being a part of it! :)
May 13, 2014 6:01
Amazing Scott. Finally Microsoft is heading in the right direction. Open platforms, contained artifacts, save & refresh, fast, thin, agile yet robust. Not shy to be a .NET developer among my Linux/Scala/Ruby/Python anymore.
May 13, 2014 6:17
As someone else mentioned, you may want to switch the name from kvm... I mean unless you want to make developers cry when it comes to search results. That said, I like the NuGet changes. Will we be able to set a location outside of a project/solution and have our projects use that to override a package? Also, what about WebForms? How does that tie into vNext? What the heck does unified Web API/MVC look like? You know, I have like 500 more questions but I'll just wait for the repo tomorrow. Which I have to say is one of the few from MS that I would care enough about that I may get involved. Well that or if you ever decide to open source Visual Studio. I would jump on that in a heartbeat...
May 13, 2014 6:42
Microsoft, your beginning to get your mojo back.... Interesting stuff coming out.
May 13, 2014 7:22
This is amazing!!!
May 13, 2014 7:54
"Dependency injection out of the box"
More on this perhaps? Thanks!
Ed
May 13, 2014 8:12
Very nice - great steps forward, it all feels like good solid acceleration.

I love the side by side of a framework :-)
May 13, 2014 8:43
Great news! I also wonder though, is the new "cloud optimized ASP.NET" same thing as project Helios?
May 13, 2014 10:24
Is it possible when next version of ASP.NET MVC comes out, please make a really clean empty project template. This includes removing all unused references, unused using statements, and unused attributes in web.config etc. Thanks!
May 13, 2014 10:24
This is just awesome, a big step forward for the .NET web ecosystem! Can't wait for the release so I can do some major rebuilding off stuff :)
May 13, 2014 12:18
Adobe was doing this years ago with Coldfusion sort of. Awesome no compile. YOLO
May 13, 2014 12:18
Such a great direction we are heading towards with this new programming model on the server side. Great work guys, keep them coming!
May 13, 2014 12:24
That is a lot of stuff, amazing!

I'm wondering though what a "cloud-optimized" CLR means, what's different about it and how is it better for ASP.NET? Perhaps this is something that is/will be explained on Channel 9 in more detail?
May 13, 2014 13:28
Would you please make Sql Server work on Linux? One of the best, if not THE best, RDBMS out there and it ties developers to Windows.
May 13, 2014 13:39
What i am interested in is how do you create a project that uses these technologies?
I updated my VS but when i generate a new project i don't get Project.json, i get the old template...
May 13, 2014 13:47
Awsome news! Best read of the day :)
May 13, 2014 13:59
Cool! Good stuff scott.
May 13, 2014 14:04
Wow.. Simply amazing.Even I cannot believe this.Thanks ASP.net Team.You'll rock the ASP.net world.Though I have one question about this 'Dependency injection out of the box'.Can you elaborate little bit more about that ?
May 13, 2014 15:14
Scott that is cool!

May 13, 2014 16:31
This is really great news for all asp.net developers. Look forward to get next update on this topic. .NET running on all platforms is really good. :D Thanks from all devs to ASP.NET team and please if possible write some more details for all the features you have mentioned.

- Sid
Sid
May 13, 2014 16:38
The fact that the Framework will be inside the project deployment, does that mean that I no longer require the .NET framework installed?
Let's say that I have a server with .NET 2.0 and i CANT upgrade it, can I deploy a project with vNext using the latest features like async/await?

and what about mono? I knew that it was up to .NET 3.5, does it means that if I deploy a project made using 4.5.1 it will still works?
May 13, 2014 16:53
Just to repeat everything that has been said - this, along with other announcements at Build and TechEd, is totally AWESOME and making development fun again.

The big question, Scott, has to be - When are we going to get all this good stuff? What is the expected RTM date for these? The one I'm waiting for is Roslyn.

I've installed Update 2 but still not sure exactly what I've got with that - how much of the vNext stuff is in there? Looking forward to getting some concrete examples.
May 13, 2014 16:54
Thank you Scott for the amazing announcement!!.
just a couple of questions, will the no-compile experience be optional to us, so if you still want to continue your way you will and the other guy will enjoy the No-compile experience as well?
second question: will both the traditional and the no-compile way run side-by-side?

Thank you,
Mohammed
May 13, 2014 17:20
Extremely cool Scott. Can't wait until these go from VNext to Prod.
May 13, 2014 17:56
When can we expect to be able to play with the no-compile experience?

Thanks,
May 13, 2014 18:05
What about async on mono?
What about impossible to get PerWebRequest-Lifestyle in MVC-application in Mono-xsp?
Is all this will works?
Is there a new managed webapp container exists?
May 13, 2014 18:06
And this is why we all love Scott. Keep up the good work Scott & Team :)
May 13, 2014 18:13
This looks really cool. Keep up the great work, guys! Looking forward to trying it out.

I will say that I am surprised that you're allowing ASP .NET on non-Windows platforms. It seems like that would remove a key reason for people to purchase Windows Server licenses.
Sam
May 13, 2014 18:22
That looks awesome, can't wait to give it a try... there are some really great thing going on lately!
May 13, 2014 19:06
Is only "cloud optimized" clr wil works on linux?
May 13, 2014 19:51
I'm looking forward to seeing what is coming in the Fall. I'm glad to see all the hard work finally paying off.
May 13, 2014 20:07
This sounds similar to Nancy on Owin.. Excited to explore..
Is there any repository for this??
May 13, 2014 22:33
Looks awesome. Can't wait! Thanks for sharing.
May 13, 2014 22:55
For the sake of balance; this is not amazing or awesome. It's a half-baked attempt to redress some of the limitations inherent in a poor component library that was never fit for purpose in the first place. ASP.NET was designed to make web development more accessible to traditional desktop developers of below average ability at the cost of performance and flexibility.
May 14, 2014 0:57
I think I wet my pants a little...
May 14, 2014 1:17
Really awesome, can't wait to hear more about this, code-refresh experience will be completely crazy for us after year of Ctrl+B+wait (build) :)
May 14, 2014 1:17
Well poke me in the eye. There be code on github and that there more details on asp.net.
May 14, 2014 5:57
One thing to make it clear ?

1. Can I run my MVC 5.x project on Linux or mono. Is sublime text are ready to run. What about C# intellisense.

If I will going to use Mono and sublime text (both are non-Microsoft product) then How Microsoft will charge me. I means Their is something on server that I need to pay for something else that Microsoft will charge me for using that kind of things.

Post is awesome. Really cool to see sublime text everywhere for coding :)
May 14, 2014 9:13
It's amazing! The company that used to be so closed and uncompromising has become the polar opposite right before our eyes! No other corporation even comes close. I've always believed in collaboration over competition and Microsoft is forging the way.

Microsoft is the only company trying to achieve cross-platform ubiquitous computing, while companies like Apple and Google are heading in the opposite direction with lock-in as their primary objective. Microsoft is reaching out, I just can't wait for other corporations to start reaching back.
May 14, 2014 9:24
It is amazing. The next is Windows?
May 14, 2014 10:39
Hi,
Just wondering about performances, I did an installation on Windows7 and Windows8 of the MusicStore vNext sample ( https://github.com/aspnet/MusicStore) but at a first quick test (aka running it blindly) the vNext version seems pretty slow compared to the Mvc solution in the sample: 26 req/s against 440 req/s with 150 users with JMeter not downloading static content.
Does someone did some perf test, or am i missing some really important thing?

Plus i hate to be late... i had developed a command line webserver based on coroutines that does nearly the same... Node.Cs... but (apart from performance pow) Microsoft beated me on timing... sigh...

Endaroza
May 14, 2014 12:03
Exciting news.

Combining MVC and WebApi makes a lot of sense, and compilation in memory bypassing disc looks really exciting and promising.
May 14, 2014 12:17
Some phenomenal announcements there! I was wondering where it leaves sites that currently run on the DLR? Like the ones that run from the Web Matrix and the Orchard CMS for example.
May 14, 2014 12:30
Are there any information on how to try it out on OSX / Linux?

Also how is the performance on OSX / Linux compared to Windows?
May 14, 2014 14:18
The project system is also changing - we’re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into a unified view of your project dependencies expressed in a project.json file.


Why json? I know it's 'so hot' right now..(jitterbug!).. but was there any other reason to choose this syntax? eg, why not a fluent c# .cs file, or xml, or ...(insert other here)..

I appreciate combining the project/nuget etc, that makes sense for sure. Just not sure of the final choice for container.

Personally, I wouldn't want xml, it's too wordy which was an issue I had with xaml, but a fluent c# file would be good imo.

Can we get a post on why/how .json was chosen as the metadata store?
May 14, 2014 17:12
Very interesting stuff indeed.

It's been a while since I programmed some proprietory code (using up to ASP.NET 2.0). Now there seems to be a lot of open source libraries with things like NuGet and all sorts of JavaScript stuff. I have to be honest and say I've never used any open source in my projects and I'm not familiar with the licensing model(s). Are there any pitfalls in using these i.e. am I obliged to make my (proprietory) code open source by using them? Maybe it's different for different libraries and there's a guide out there somewhere? Thank you.
May 14, 2014 18:19
This is great !!


Finally we get app by app frameworks, this means we will no longer experience breakages because of some random patch to a framework because another app requires it.

Good stuff.
May 14, 2014 18:29
All these platforms are more and more similar to each other nowadays. Ruby, Node.js?
May 14, 2014 18:39
Hello Scott,

could you please confirm that ASP.NET vNext will be based on OWIN as Daniel Plaisted said? This would be GREAT news!! I created a spike using WebAPI and OWIN for our "next gen" architecture and I was very impressed with the possibilities.

In my case I used WebAPI for the services and the static files support for deploying a WinForms app (yes, some people use them :-) ) using ClickOnce. This worked as a charm. My next step was to provide support for our MVC application but sadly this was out of my reach using the current stack.

I love the idea of just serving my complete stack (services, Windows app using ClickOnce and Web client) from the same OWIN-hosted server.

Thank you for your great blog
Raúl
May 14, 2014 20:12
Will the Roslyn/VNext compiler enable us to eventually be able to edit-n-continue with no limitations?....add fields, methods, whatever?
May 15, 2014 1:23
Nice, sounds like a great release

The project system is also changing - we’re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into a unified view of your project dependencies expressed in a project.json file.


WIll this new project-system be limited to ASP.net or will it be in other project types (let's say a windows console application) when a Visual Studio vNext comes out?
May 15, 2014 1:27
OOOOH noooooo!! I'm addicted to the build step! Don't take it away from me!! :)

Great News! Thank you!!
May 15, 2014 2:23
Finally Microsoft and ASP.NET are heading where open source web frameworks have been for years, sweet!
May 15, 2014 3:08
Will changes to c# class cause app restart in the new no-compile environment? You know that little session lost thing and memory chache lost.
May 15, 2014 4:56
Like the ones that run from the Web Matrix and the Orchard CMS for example.
May 15, 2014 4:57
It is amazing. The next is Windows?
May 15, 2014 11:29
With important frameworks like ASP.NET, it would be nice to see Microsoft bring Functional Programming to the fore.

Some people think that FP has advantages over OOP. I certainly agree.

Having used Web API in the OOP/traditional way, I now follow panesofglass's lead and simply register a DelegatingHandler that calls into an F# assembly that does all the work in a functional / pipelined manner. The handler then returns the response that the functional code produces. (You also have to set up a single, generic route to prevent Web API from returning a 404 for every request.) Web API's routing, controllers, action selection, model binding, media type formatters, etc. etc. (i.e. the whole OOP model) - all are bypassed.

I hope that this way of working - with the DelegatingHandler - will still be supported in Web API vNext.

NOCA - not only controller actions!
May 15, 2014 14:30
Cool. Seems that Microsoft is slightly moving to an open-sourcing the entire .NET Framework along with the compilers, CLR and everything else (maybe the Windows Phone and Windows 8 is also on the road). Similar move to open source happened with Java in 2006-2008 and now Java is truely open-source, driven by a large community.

Generally, very good news. The .NET platform should become entirely open-source and this is a strong step ahead.
May 15, 2014 17:24
Great work Scott! Looking forward to the developments...
May 15, 2014 22:52
Hi Scott,

I have read all the articles and watched the teched videos. I think what you are doing is good, but it's too complex. So I have some criticism, maybe you can do something with it:

- I don't see the main value, just 10 new things, what's the overall story here?
- Cloud Optimized is a really silly marketing name
- Having csproj + project.json seems really confusing
- What actual problem is going to json configs solving? And do we really need a configuration for our configuration?
- The Github project list is totally confusing, for "One ASP.NET" you guys sure made a lot of projects to understand and grasp.
- When I compare what you guys are doing here, it seems like an all out attempt to replicate as much of what is good from other frameworks. Yet those others make it seems so much more smoort that what you guys have, that I'm not sure you got the point. Python's virtualenv is really much easier and I think overall better then "k setactive runtime" or whatever is happening there. I think you guys are overextending here, and I would be hesitant to move toward release too soon with this.
- Make sure YOU build REAL apps with this. In your presentation you said something like "the devs tell us this is really great", but those are framework devs. If you let them make some ph.d. stuff we will not use it...

Best of luck!

May 15, 2014 22:56
Yeah, let me just reiterate what I think is the main problem:

You are focussing waaay too much on the how, without having a story about the why... at all. And the how is now waaay too confusing, because it's pre-alpha and just not coherent, so without the why it _seems_ like you guys have no idea about our reality, and your enthousiasm is hard to understand.

I think that is why you got such lame applause at TechEd. Like me, the audience was probably missing the point.

And again, throwing out "Cloud Optimized" is not helping here...
May 16, 2014 10:11
Hi Scott,

this looks looks a huge step forward for ASP.net.

Although there is just a preview (or alpha as you want us to read), I'm sure many people out there would like to play around with it.

Could you please write a blog post on how to do it?
max
May 16, 2014 10:43
When will the Visual Studio 2014 be available?
May 16, 2014 15:49
"See my web app’s bin folder in the screenshot below? There’s no assemblies in there because the assemblies never exist on the disk. It’s actually faster and easier to have the compiler do all the work in memory."

Great development does this rid us of the ASP.NET Temporary files dir as well?

e.g. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
May 16, 2014 18:21
ASP.NET will be everywhere :) No boundary. I am super happy.
May 16, 2014 19:20
How is ASP.NET vNext related to OWIN and Katana?
May 17, 2014 9:58
Why not revamp classic asp? Its simplecand fast
May 17, 2014 21:55
Today's my birthday (May 12th) and I have to say, that's even better than any gifts I got!

Can't wait :)
May 18, 2014 9:53
Very amazing news Scott, thanks for the intro!
Thanks
May 18, 2014 10:21
This is awesome Scott! I feel like this is a great move by the ASP.NET team and Microsoft. I'm really looking forward to RTM.
May 19, 2014 19:10
I know I am very excited about this release. The Web Forms scaffolding, in my opinion, is long overdue. You know how many times I wanted to do JUST that??? Awesome.
May 20, 2014 6:24
I hope "Project K" wouldn't got the same ultimate point as "Project M" did...
May 20, 2014 14:59
This is a project that desperately needs a good name. Please don't tell me it will be "ASP.NET v6 Update 1" or something. This is something totally new, it needs a new name.


May 21, 2014 7:43
Seems like a revolution for asp.net community.
May 21, 2014 14:51
vNext should be called ZERO ASP.NET if Microsoft fixes ALL bugs in the existing ASP.NET technology stack.
May 22, 2014 9:48
This is just great news. Compile-as-a-service ohh I just love it and waiting to crack some code in vNext
May 22, 2014 16:58
> ASP.NET MVC and Web API have been unified into a single programming model

Loved this. Btw, WCF is dead?
May 24, 2014 5:52
@Lev - I have to disagree. WebApi has completely changed the way I code. Finally I can do 90 percent of my coding on the client and seamlessly use jQuery AJAX to push persistent data to the server. I just hope the Web API/MVC integration does not interfere with my lightweight coding model. I tend to use some of the classes of the Web Pages framework (for membership and 3rd party OAuth), a bit of the web API, and a lot of JavaScript on the front-end. I could not imagine this level of flexibility in .net just a few years ago, but to be able to deploy the framework with the app is absolutely insane. I hope this means no requirement for the app to be hosted on a Windows server/hosting.
May 26, 2014 5:00
I liked that the Asp.Net could be run on MAC too. A great extension to MAC developers too.
May 27, 2014 0:58
I'm okay with JSON as a format as long as they don't misuse it. For example, in the TechEd demo Scott gave named INTRODUCING: The Future of .NET on the Server, Scott is shown "commenting" and "uncommenting" portions of a JSON (global) project file.

JSON doesn't support comments!

I appreciate the desire to adopt JSON as a format, but please Microsoft/Scott don't corrupt it.
June 01, 2014 21:19
Scott, really interesting to see the further influence of Ruby and Rails in ASP.NET with code changes on the fly but also in the tooling; kvm really looks like rvm in the Ruby world, which in use daily. It's nice to see MS showing the value of other ecosystems to learn from and take good parts to make ASP.NET all the better for developers. This is very encouraging.
June 03, 2014 8:49
Feels happy and proud to hear it. Its goanna be incredible. And always love Microsoft with Scott Hanselman.
June 05, 2014 1:04
Hi Scott,

Is this asp.net-vNext thing just OWIN with project Helios ?
June 10, 2014 6:52
OSX and Linux ? wow this would be a great feature.

Mac hardware is great so I always use my Mac book Air however I am also a .Net developer for 10 years. What I have to do right now is to install Windows 7 on a VM, etc.
Thanks MS
June 12, 2014 11:59
Hi Scott, thanks for another high quality article.
I feel so excited about all these news and I love the underlying vision.
June 12, 2014 16:18
Now if only the other MS product groups (eg the SQL team) had this same degree of innovation, and took a leadership position for once, instead of always being the conservative me-too follower. Well done Scott.
June 18, 2014 3:15
Awesome! I spent hundreds of hours trying to port C# web projects to mono to run on Linux and struggling - eventually I gave up and moved to node.js which works on all platforms.

In recent years we've seen the .NET community seriously hit as Microsoft dropped XNA for game developers, confused the developer community with Windows 8 and Xamarin moved the focus of mono development away from web and towards closed-source mobile support so getting any web app newer than 2010 to run on linux became an uphill struggle.

I am so glad that Microsoft is finally taking cross platform portability seriously and I hope I won't be in the minority in considering moving back to to .NET development as my primary platform. Visual Studio is leaps and bounds above any other IDE and the C# language is the cleanest, most elegant and most productive I've ever used.

I think there are still 3 pieces missing from the puzzle though:
1) We need a similar thing to happen on the database side... some sort of self-hosted SQL server that can also run on mono.
2) Ideally, we need an official way to deploy C# apps to other platforms that doesn't require expensive closed-source third party plugins like Xamarin. Surely with Microsoft's resources we could have an official *free* .NET runtime port by now which could run C# code natively on iOS and Android?
3) We need a new .NET graphics framework like XNA, but updated and cross platform (something like monogame).

It might even be as simple as Microsoft adding SQLite, PostgreSQL or some other open source, cross-platform database in as the default go-to database for Visual Studio 2013 and then buying or doing a deal with Xamarin and MonoGame to allow those components to become a free, open and standardised part of the core .NET ecosystem.

Any chance of that Scott? :)

July 16, 2014 15:26
I totally second to @Monkey. We love VS IDE and C# the most productive and modern language. But we also need support from Microsoft to let us run our applications cross-platform. I am hope full Microsoft is realizing the importance of this and also showing its interest in Big Data community to make once again Microsoft the leader of Software Development industry.
Thanks,
Imran
July 18, 2014 22:39
I'm curious, will app_code folders be supported anymore? Or are they obsoleted by some of the changes with the Roslyn compiler?
July 30, 2014 2:39
Hi I have a question, does this mean that with asp.net vNext I will be able to run applications on servers that are still using .net 3.5 or any other previous versions and still be able to take full advantage of the new features provided by the Framework? for instance running an mvc6 application on a server that still uses .net 3.5?

Hopefully someone will clear that out for me, anyways way to go Microsoft, you are definitely taking in the right direction with all those new incredible tools.

Thanks for that, and keep up the great work, .NET Rules!
July 31, 2014 15:39
Thanks for sharing, I am curious for next generation.
August 07, 2014 13:37
Wow! I'm super excited to start building with ASP.NET vNext. Definitely a MASSIVE STEP in the RIGHT DIRECTION for Microsoft.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.