Scott Hanselman

Introducing ASP.NET vNext

May 12, '14 Comments [151] 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
Sponsored By
Hosting By
Dedicated Windows Server Hosting by ORCS Web
Monday, May 12, 2014 4:18:17 PM UTC
Looking extremely quick and useful approach.

Thanks Scott for the nice peak in future.
Monday, May 12, 2014 4:22:01 PM UTC
This is awesome. Really loving where the new Microsoft is heading. Good stuff. Can't wait to hear more about this.
Ragesh
Monday, May 12, 2014 4:30:13 PM UTC
Very cool! Definitely moving forward in the right direction.
Monday, May 12, 2014 4:32:09 PM UTC
Very Cool .. Is Project “Helios" named as ASP.NET vNext?
Shankar
Monday, May 12, 2014 4:32:22 PM UTC
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?
Brian Dukes
Monday, May 12, 2014 4:37:53 PM UTC
That's incredible.

I was really missing ASP.Net on linux.

This is the right direction for future Microsoft!
Mateus
Monday, May 12, 2014 4:41:08 PM UTC
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
Michael Davidson
Monday, May 12, 2014 4:42:38 PM UTC
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
Monday, May 12, 2014 4:44:18 PM UTC
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!
H. Halim
Monday, May 12, 2014 4:46:26 PM UTC
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)
jinushaun
Monday, May 12, 2014 4:49:08 PM UTC
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.
jinushaun
Monday, May 12, 2014 4:56:16 PM UTC
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.
Monday, May 12, 2014 5:13:17 PM UTC
Collaboration with Mono team is what I am most happy about :) Looking forward to seeing how this all turns out.
Monday, May 12, 2014 5:16:13 PM UTC
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. :)
Eric Brown
Monday, May 12, 2014 5:16:14 PM UTC
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!
Monday, May 12, 2014 5:20:11 PM UTC
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?
Monday, May 12, 2014 5:22:50 PM UTC
@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 :)
Monday, May 12, 2014 5:24:27 PM UTC
"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.
Monday, May 12, 2014 5:30:13 PM UTC
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!
Marko
Monday, May 12, 2014 5:35:49 PM UTC
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!
Monday, May 12, 2014 5:36:31 PM UTC
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.
Monday, May 12, 2014 5:41:11 PM UTC
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.
Monday, May 12, 2014 5:42:45 PM UTC
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.
Monday, May 12, 2014 5:58:05 PM UTC
Amazing! Microsoft are taking ASP.NET in such a great direction.
Ben Gale
Monday, May 12, 2014 5:58:29 PM UTC
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.
Monday, May 12, 2014 6:06:21 PM UTC
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.
Asbjørn
Monday, May 12, 2014 6:12:36 PM UTC
Great news! Excited to explore!!
Sunny
Monday, May 12, 2014 6:21:52 PM UTC
*mindblown*
Thanks for making ASP.NET the greatest platform for WebDev!
Monday, May 12, 2014 6:49:01 PM UTC
@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.
Daniel Plaisted
Monday, May 12, 2014 6:56:31 PM UTC
Thank you, Scott!

This is awesome! This new trend of news coming out of Microsoft and the .NET team is really exciting... :)
Monday, May 12, 2014 6:57:06 PM UTC
Looks like excellent ideas coming up. @shanselman What about hardware requirements?
Monday, May 12, 2014 7:16:20 PM UTC
Will this work with F#?
Rodrigo Vidal
Monday, May 12, 2014 7:19:16 PM UTC
@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.
Monday, May 12, 2014 7:23:28 PM UTC
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.
Monday, May 12, 2014 7:23:29 PM UTC
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.
Monday, May 12, 2014 7:26:08 PM UTC
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 ?
Petar
Monday, May 12, 2014 7:36:11 PM UTC
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
Monday, May 12, 2014 7:38:07 PM UTC
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
Uladzimir Kazakevich
Monday, May 12, 2014 7:43:53 PM UTC
This is really huge!

.NET native & Linux support.

Travel back in time to 2005 and tell this to people. See how they react.
Monday, May 12, 2014 7:45:19 PM UTC
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.
Monday, May 12, 2014 8:16:39 PM UTC
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.
Monday, May 12, 2014 8:24:54 PM UTC
I don't care, just show me what's in your "Animated Gifs" folder...
Mike
Monday, May 12, 2014 8:25:43 PM UTC
> "All Open Source via the .NET Foundation and takes contributions"

Does that include System.Web?
Mike
Monday, May 12, 2014 8:30:30 PM UTC
So does this work with Web Forms?
Monday, May 12, 2014 8:33:07 PM UTC
What do these NuGet CLR versions mean for machine.config and machine.web.config?
Remco
Monday, May 12, 2014 8:45:39 PM UTC
"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?
Eddie Groves
Monday, May 12, 2014 8:54:45 PM UTC
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! :)
Monday, May 12, 2014 9:26:00 PM UTC
Words can't express what I'm feeling right now :)
Monday, May 12, 2014 9:32:39 PM UTC
Eddie - Be happy. We'll publish the repo tomorrow.
Monday, May 12, 2014 10:24:18 PM UTC
Eddie - Be happy. We'll publish the repo tomorrow.


Awesome, can't wait Scott! :)
Eddie Groves
Monday, May 12, 2014 10:32:19 PM UTC
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?
Monday, May 12, 2014 11:05:06 PM UTC
Great news, everything is getting better and better!
Ashot Muradian
Monday, May 12, 2014 11:21:14 PM UTC
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!
Monday, May 12, 2014 11:25:14 PM UTC
Wow nice!!!!
node.js for .NET developers...
Madhu Ranjan
Monday, May 12, 2014 11:33:28 PM UTC
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!
Etienne
Tuesday, May 13, 2014 1:30:05 AM UTC
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! :)
Funbit
Tuesday, May 13, 2014 2:01:08 AM UTC
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.
Tuesday, May 13, 2014 2:17:35 AM UTC
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...
James Craig
Tuesday, May 13, 2014 2:42:48 AM UTC
Microsoft, your beginning to get your mojo back.... Interesting stuff coming out.
Jason Finch
Tuesday, May 13, 2014 3:22:28 AM UTC
This is amazing!!!
Yan Justino
Tuesday, May 13, 2014 3:54:06 AM UTC
"Dependency injection out of the box"
More on this perhaps? Thanks!
Tuesday, May 13, 2014 4:12:41 AM UTC
Very nice - great steps forward, it all feels like good solid acceleration.

I love the side by side of a framework :-)
Tuesday, May 13, 2014 4:43:53 AM UTC
Great news! I also wonder though, is the new "cloud optimized ASP.NET" same thing as project Helios?
Tuesday, May 13, 2014 6:24:37 AM UTC
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!
Jeff
Tuesday, May 13, 2014 6:24:56 AM UTC
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 :)
Tuesday, May 13, 2014 8:18:17 AM UTC
Adobe was doing this years ago with Coldfusion sort of. Awesome no compile. YOLO
Mike
Tuesday, May 13, 2014 8:18:54 AM UTC
Such a great direction we are heading towards with this new programming model on the server side. Great work guys, keep them coming!
Tuesday, May 13, 2014 8:24:36 AM UTC
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?
Tuesday, May 13, 2014 9:28:27 AM UTC
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.
Gleb
Tuesday, May 13, 2014 9:39:20 AM UTC
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...
Ivan
Tuesday, May 13, 2014 9:47:31 AM UTC
Awsome news! Best read of the day :)
Tuesday, May 13, 2014 9:59:53 AM UTC
Cool! Good stuff scott.
Tuesday, May 13, 2014 10:04:37 AM UTC
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 ?
Tuesday, May 13, 2014 11:14:43 AM UTC
Scott that is cool!

Tuesday, May 13, 2014 12:31:42 PM UTC
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
Tuesday, May 13, 2014 12:38:28 PM UTC
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?
Simone
Tuesday, May 13, 2014 12:53:53 PM UTC
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.
Steve Wood
Tuesday, May 13, 2014 12:54:44 PM UTC
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
Tuesday, May 13, 2014 1:20:57 PM UTC
Extremely cool Scott. Can't wait until these go from VNext to Prod.
Tuesday, May 13, 2014 1:56:13 PM UTC
When can we expect to be able to play with the no-compile experience?

Thanks,
Etienne
Tuesday, May 13, 2014 2:05:39 PM UTC
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?
Anton
Tuesday, May 13, 2014 2:06:21 PM UTC
And this is why we all love Scott. Keep up the good work Scott & Team :)
Tuesday, May 13, 2014 2:13:02 PM UTC
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
Tuesday, May 13, 2014 2:22:44 PM UTC
That looks awesome, can't wait to give it a try... there are some really great thing going on lately!
Marcelo Biffara
Tuesday, May 13, 2014 3:06:00 PM UTC
Is only "cloud optimized" clr wil works on linux?
Anton
Tuesday, May 13, 2014 3:51:24 PM UTC
I'm looking forward to seeing what is coming in the Fall. I'm glad to see all the hard work finally paying off.
Tuesday, May 13, 2014 4:07:55 PM UTC
This sounds similar to Nancy on Owin.. Excited to explore..
Is there any repository for this??
Tuesday, May 13, 2014 6:33:35 PM UTC
Looks awesome. Can't wait! Thanks for sharing.
Matthew Marksbury
Tuesday, May 13, 2014 6:55:32 PM UTC
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.
Real Software Engineer
Tuesday, May 13, 2014 8:57:23 PM UTC
I think I wet my pants a little...
Tuesday, May 13, 2014 9:17:19 PM UTC
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) :)
Tuesday, May 13, 2014 9:17:25 PM UTC
Well poke me in the eye. There be code on github and that there more details on asp.net.
Jeremy Cook
Wednesday, May 14, 2014 1:57:29 AM UTC
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 :)
Kris
Wednesday, May 14, 2014 5:13:02 AM UTC
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.
PeteK68
Wednesday, May 14, 2014 5:24:33 AM UTC
It is amazing. The next is Windows?
Wednesday, May 14, 2014 6:39:19 AM UTC
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
Wednesday, May 14, 2014 8:03:54 AM UTC
Exciting news.

Combining MVC and WebApi makes a lot of sense, and compilation in memory bypassing disc looks really exciting and promising.
Darius
Wednesday, May 14, 2014 8:17:02 AM UTC
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.
Wednesday, May 14, 2014 8:30:43 AM UTC
Are there any information on how to try it out on OSX / Linux?

Also how is the performance on OSX / Linux compared to Windows?
Martin
Wednesday, May 14, 2014 10:18:50 AM UTC
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?
Mike
Wednesday, May 14, 2014 1:12:40 PM UTC
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.
rodmac
Wednesday, May 14, 2014 2:19:38 PM UTC
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.
Krystan Honour
Wednesday, May 14, 2014 2:29:02 PM UTC
All these platforms are more and more similar to each other nowadays. Ruby, Node.js?
Wednesday, May 14, 2014 2:39:03 PM UTC
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
Raul
Wednesday, May 14, 2014 4:12:53 PM UTC
Will the Roslyn/VNext compiler enable us to eventually be able to edit-n-continue with no limitations?....add fields, methods, whatever?
Chris
Wednesday, May 14, 2014 9:23:18 PM UTC
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?
andreas
Wednesday, May 14, 2014 9:27:21 PM UTC
OOOOH noooooo!! I'm addicted to the build step! Don't take it away from me!! :)

Great News! Thank you!!
gsimoes
Wednesday, May 14, 2014 10:23:45 PM UTC
Finally Microsoft and ASP.NET are heading where open source web frameworks have been for years, sweet!
Wednesday, May 14, 2014 11:08:44 PM UTC
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.
Tuan
Thursday, May 15, 2014 12:56:16 AM UTC
Like the ones that run from the Web Matrix and the Orchard CMS for example.
Thursday, May 15, 2014 12:57:37 AM UTC
It is amazing. The next is Windows?
Thursday, May 15, 2014 7:29:57 AM UTC
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!
Andrew Webb
Thursday, May 15, 2014 10:30:48 AM UTC
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.
Thursday, May 15, 2014 1:24:44 PM UTC
Great work Scott! Looking forward to the developments...
David Shumate
Thursday, May 15, 2014 6:52:07 PM UTC
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!

Mike
Thursday, May 15, 2014 6:56:55 PM UTC
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...
Mike
Friday, May 16, 2014 6:11:41 AM UTC
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
Friday, May 16, 2014 6:43:22 AM UTC
When will the Visual Studio 2014 be available?
Ryan
Friday, May 16, 2014 11:49:08 AM UTC
"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
Pete
Friday, May 16, 2014 2:21:54 PM UTC
ASP.NET will be everywhere :) No boundary. I am super happy.
Mohsin JK
Friday, May 16, 2014 3:20:43 PM UTC
How is ASP.NET vNext related to OWIN and Katana?
John Billingsly
Saturday, May 17, 2014 5:58:20 AM UTC
Why not revamp classic asp? Its simplecand fast
Saturday, May 17, 2014 5:55:45 PM UTC
Today's my birthday (May 12th) and I have to say, that's even better than any gifts I got!

Can't wait :)
Sunday, May 18, 2014 5:53:30 AM UTC
Very amazing news Scott, thanks for the intro!
Thanks
Mohammad Karimi
Sunday, May 18, 2014 6:21:59 AM UTC
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.
Monday, May 19, 2014 3:10:58 PM UTC
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.
Tuesday, May 20, 2014 2:24:55 AM UTC
I hope "Project K" wouldn't got the same ultimate point as "Project M" did...
Mehdi
Tuesday, May 20, 2014 10:59:41 AM UTC
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.


Herman H
Wednesday, May 21, 2014 3:43:10 AM UTC
Seems like a revolution for asp.net community.
Malay
Wednesday, May 21, 2014 10:51:36 AM UTC
vNext should be called ZERO ASP.NET if Microsoft fixes ALL bugs in the existing ASP.NET technology stack.
ASP.NET Fan
Thursday, May 22, 2014 5:48:15 AM UTC
This is just great news. Compile-as-a-service ohh I just love it and waiting to crack some code in vNext
Thursday, May 22, 2014 12:58:16 PM UTC
> ASP.NET MVC and Web API have been unified into a single programming model

Loved this. Btw, WCF is dead?
Sarath
Saturday, May 24, 2014 1:52:53 AM UTC
@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.
Matt
Monday, May 26, 2014 1:00:43 AM UTC
I liked that the Asp.Net could be run on MAC too. A great extension to MAC developers too.
Monday, May 26, 2014 8:58:16 PM UTC
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.
Jacob
Sunday, June 01, 2014 5:19:29 PM UTC
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.
Tuesday, June 03, 2014 4:49:56 AM UTC
Feels happy and proud to hear it. Its goanna be incredible. And always love Microsoft with Scott Hanselman.
Abdur Rashid`
Wednesday, June 04, 2014 9:04:59 PM UTC
Hi Scott,

Is this asp.net-vNext thing just OWIN with project Helios ?
fagro
Tuesday, June 10, 2014 2:52:27 AM UTC
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
Raha Mohebbi
Thursday, June 12, 2014 7:59:21 AM UTC
Hi Scott, thanks for another high quality article.
I feel so excited about all these news and I love the underlying vision.
Alberto
Thursday, June 12, 2014 12:18:27 PM UTC
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.
Tuesday, June 17, 2014 11:15:51 PM UTC
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? :)

Monkey
Wednesday, July 16, 2014 11:26:27 AM UTC
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
Imran
Friday, July 18, 2014 6:10:23 AM UTC
Do you have a spam problem on this blog; I also am a blogger, and I was wanting to know your situation; many of us have created
some nice practices and we are looking to exchange strategies with other folks,
why not shoot me an e-mail if interested.

My weeb page: Stardom Hollywood Cheat
Friday, July 18, 2014 6:39:14 PM UTC
I'm curious, will app_code folders be supported anymore? Or are they obsoleted by some of the changes with the Roslyn compiler?
Brian White
Friday, July 18, 2014 10:31:11 PM UTC
Very nice post. I just stumbled upon your blog and wanted to say that I
have really enjoyed surfing around your blog posts. In any case I will be subscribing
to your feed and I hope you write again very soon!

Here is my web page :: dayz free download
Tuesday, July 22, 2014 5:42:02 AM UTC
When someone writes an article he/she keeps the thought of a user in his/her
mind that how a user can understand it. So that's why this paragraph is amazing.
Thanks!
Tuesday, July 22, 2014 6:40:15 AM UTC
Hi there, after reading this amazing paragraph i am as well glad to
share my familiarity here with colleagues.
Tuesday, July 22, 2014 5:20:51 PM UTC
Do you have a spam problem on this site; I also am a blogger,
and I was wondering your situation; we have developed some nice procedures and we are looking to exchange strategies with others,
be sure to shoot me an e-mail if interested.
Wednesday, July 23, 2014 10:45:33 AM UTC
Today, I went to the beach with my kids. I found a sea shell and gave it
to my 4 year old daughter and said "You can hear the ocean if you put this to your ear." She placed
the shell to her ear and screamed. There was a hermit crab inside and
it pinched her ear. She never wants to go
back! LoL I know this is totally off topic but I had
to tell someone!
Wednesday, July 23, 2014 1:51:15 PM UTC
Hello, after reading this remarkable piece of writing i am as
well glad to share my experience here with mates.
Name
E-mail (will show your gravatar icon)
Home page
 
Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, li, ol, pre, strike, strong, sub, super, u, ul) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.
Live Comment Preview

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