Scott Hanselman

ASP.NET vNext - August 2014 Status Rollup

August 29, '14 Comments [33] Posted in ASP.NET | Open Source
Sponsored By

Work on the next version of ASP.NET continues. It's a world of Alpha software, Git commits, breaking changes, and daily builds. If you're not one for risk, this blog post is for you. Read about all the fun stuff that's going on, and install nothing. If you do like a little spice in your life, jump in and install some early builds and join this active and opinionated community.

Introducing ASP.NET vNext

We announced vNext in May and did some great talks at TechEd.

ASP.NET vNext has number of notable features, including, but not limited to:

  • Open Source from the start and runs on Windows, Mac, and Linux.
  • No "build to disk" step, just refresh and go with runtime in-memory compilation from the Open Source Roslyn compiler.
  • Optional cloud optimized local install the CoreCLR that runs great in Azure.
  • Want to use a Mac and Sublime rather than Windows and VS? Sure.
  • No strong naming, no dependency on System.Web
  • Dependency injection everywhere
  • side-by-side runtimes (one app can't hurt another, get your own versions of everything)
  • NuGet Packages easy to bring in the new project.json system. But, you can also swap in the source for your favorite libraries!

 

David Fowler and Scott Hanselman

Since then we've seen the release of betas of the next version of Visual Studio, like Visual Studio "14" CTP 3. This version of VS includes the ASP.NET vNext alpha 3 packages plus initial tooling. The project system is changing and this VS14 build includes Intellisense for the new Project.json files.

  • ASP.NET and Web Development vNext Updates. This CTP includes all the Visual Studio 2013 Update 3 web tooling improvement and ASP.NET vNext alpha 3 runtime packages. It has improved tooling support for ASP.NET vNext, such as support for build configuration and support for unit tests, and it no longer includes content and compile items inside “.kproj” file. ASP.NET vNext includes an updated version of the RyuJIT JIT compiler. For details, please read the full post on the .NET Web Development Tools blog.

Separate from ASP.NET vNext, this build of VS14 also includes .NET Native, C++ updates, Shared Projects, as well as little things like retina icons for HiDPI displays.

Project.json files

Scaffolding for ASP.NET vNext

ASP.NET vNext is very modular and will include customizable command-line scaffolding . As with all of ASP.NET vNext, it's easy and alpha, but we've got blog posts up showing you how to get started with scaffolding. We've also got details on how to customize (of course) scaffolding for your personal needs.

ASP.NET vNext on a Mac

Sure, why not? We're working on a Sublime Text 3 plugin at https://github.com/ligershark/Kulture that means you'll be able to develop ASP.NET vNext apps in your favorite IDE. There's a quick YouTube video here.

ASP.NET on a Mac

There's also some clever community members with C# Intellisense working! The LEGO pieces are snapping together nicely.

Intellisense on a Mac

This is just a taste, there's more coming that WILL surprise you

What else is possible?

ASP.NET vNext going forward...Alpha 3

David Fowler has some great Alpha 3 details on his blog that cover some architecture changes and explains some choices. ASP.NET vNext apps get their own copy of the CLR/BCL when deployed, but this is a hassle when developing. So, ASP.NET vNext apps can use a Global NuGet repository (this is NOT the GAC, relax.)

Apps can also opt in to new C# 6 features easily with a quick change to project.json.

{
"compilationOptions": {
"languageVersion": "experimental"
}
}

Again, this is all happening in the open on GitHub at https://github.com/aspnet, so check out the last milestone's issues here: https://github.com/aspnet/KRuntime/milestones/1.0.0-alpha4

I'm sure I missed something. Sound off in the comments!


Sponsor: Many thanks to my friends at Raygun for sponsoring the feed this week. I *love* Raygun and use it myself. It's amazing. Get notified of your software’s bugs as they happen! Raygun.io has error tracking solutions for every major programming language and platform - Start a free trial in under a minute!

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
Friday, August 29, 2014 2:10:54 AM UTC
Cool.
bill
Friday, August 29, 2014 6:16:04 AM UTC
How would I do this on Linux?
Maddoe
Friday, August 29, 2014 7:05:55 AM UTC
Quick check, will Roslyn and the CoreCLR work with RyuJIT?

Very much like the direction of CoreCLR/Roslyn but I have developed a perhaps unhealthy addiction to System.Numerics.Vectors and Microsoft.Bcl.SIMD
Friday, August 29, 2014 7:39:01 AM UTC
@ben_a_adams

Yes it will.
Friday, August 29, 2014 7:43:43 AM UTC
Hi Scott,

Is the IDE WebMatrix dead? We don't hear anything about it anymore...
peter
Friday, August 29, 2014 8:19:42 AM UTC
I've read that some features (like the side-by-side runtimes) won't work when you're using WebForms. Is there a list of features that will and will not be available when using WebForms? It's not clear to me whether WebForms is part of ASP.NET vNext, or whether it is a separate thing. Like, today you have WebForms, MVC, WebAPI and WebPages. Is vNext a combination of MVC, WebAPI, WebPages, SignalR, ...? Or is vNext "everything", including WebForms?

Can someone clarify this for me of point to somewhere where I can read up about it?
Friday, August 29, 2014 9:36:10 AM UTC
Scott, can you confirm that latest (public) VisualStudio "14" CTP3 can be installed side-by-side with VisualStudio 2013 Update3?

thanks, Slavo.
SlavoF
Friday, August 29, 2014 10:41:13 AM UTC
What is the status of Katana regarding to VNext?

I am confused about this
Amethyste
Friday, August 29, 2014 10:42:48 AM UTC
@Kristof Claes: Scott Hunter (of the "lesser Scotts" and Principal Program Manager for the team building ASP.NET vNext) was recently on the .NET Rocks podcast and he goes into some good detail on how WebForms fits into all of this. Here's a link:

http://dotnetrocks.com/default.aspx?showNum=1021
Brian Hall
Friday, August 29, 2014 1:00:33 PM UTC
"No compile, just refresh and go with runtime in-memory compilation"

I believe this should be "no build", because there is still a compilation process going on...
Natan
Friday, August 29, 2014 2:18:45 PM UTC
@Brian Hall things on this podcast actually conflict with some other things we have read elsewhere. He says that Roslyn compiler and therefore save/refresh will be available in Web Forms but I have seen other sources claim otherwise.
Friday, August 29, 2014 2:50:46 PM UTC
@Brian Hall - Could you please summarize what will happen with WebForms in vNext, so we don't have to listen to a one hour podcast? Thanks!
Michael
Friday, August 29, 2014 5:03:51 PM UTC
What is going to happen to the WPF, winforms, workflow foundation and other non asp.net areas in ASP.NET vNext? Will it exist in vNext or is prefixing it with ASP.NET just poor naming by MS? I'm surprised there are not more people raising this question? Or maybe I'm looking in the wrong places.
Stephen Brannan
Friday, August 29, 2014 5:26:50 PM UTC
I too am interested in hearing more about Katana and Helios.
Oran Dennison
Friday, August 29, 2014 5:54:34 PM UTC
@Stephen Brannan: WPF, winforms, workflow foundation, etc. are not part of ASP.NET vNext, so Scott do not discuss them here.

As for future plan with regards to .NET framework in general and with regards to .NET technologies one can use to develop desktop apps - see presentation of Habib Heydarian from last US TechEd:

The Present and Future of .NET in a World of Devices and Services
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B210

and

The Next Generation of .NET for Building Applications
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B316

-- s.
SlavoF
Friday, August 29, 2014 6:40:32 PM UTC
Hi Scott,

A few questions (and I apologize if some of these questions are too basic for the audience here):

1) Is ASP.NET vNext an off-shoot of the .NET Framework or is it the next version of THE framework? i.e., .NET 3.5 -> .NET 4 -> .NET 4.5 -> .NET vNext?

2) "Open Source from the start and runs on Windows, Mac, and Linux." Is this support for a sub-set of classes in .NET or will everything work? For example, the System.IO Namespace - can we write some code that writes some files out to the disk and have it work on all 3 platforms?

3) If the .NET Framework and .NET vNEXT are two separate entities, when new versions of the Framework is released, will vNext get support, as well?

Tom V
Friday, August 29, 2014 8:18:14 PM UTC
@Stephen The "non ASP.NET areas" will continue to be unrelated to ASP.NET and thus not part of any of the announced changes to ASP.NET.
Friday, August 29, 2014 8:34:33 PM UTC
@SlavoF and @Steve Smith I think Tim V really nailed what I was trying to ask. His question really encompasses the technologies I was asking about as well as the rest of the .net framework. That's the clarification I'd like to hear more about.
Stephen Brannan
Friday, August 29, 2014 9:19:04 PM UTC
Ok I found a good reference. There is also .NET vNext below ASP.NET vNext. Which will have the rest of the framework in it from what I read in this blog post.

http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx
Stephen Brannan
Friday, August 29, 2014 9:20:03 PM UTC
@Tom V

1. I test ASP.net vNext on 4 major Linux versions since June and the biggest problem is fast moving target (vNext) being kept in sync with another fast moving target - mono. But it works. From the perspective of .net/mono developer - this is just netfx 4.5. vNext will add c# v6 and better packaging - start small - no more System.Web. nuGET what you need.

2. System.IO works on Linux and Mac and to some extent on iOS and Android. There are some problems how different OSes interpret current dir or root or how many roots (forest).

@Stephen Brannan: WPF, WF, WWF are technologies based on .net, but they have nothing to do with ASP.net vNext. Here is how I explain it to others: ASP.net (and other MS teams) picked up the great ideas from other technologies (node.js and other)

- start small (minimal apps to get hello web or mvc running)
- lasagne (OS, middleware, app) OS will be irrelevant, middleware server/host (IIS, Apache, nginx or nowin, kestrel) will be the matter of choice and requirements
- package manager: get what you need npm =kpm
- runtime choice (cloud, non-cloud, non-windows = mono)
- revival of "deployment by xcopy" - "kpm pack" will pack your app together with runtime and even if you don't have appropriate version of runtime on server (netfx or mono) your app will work

there is so much more... Those guys are doing great job

I have tons of Qs too. Go and visit https://jabbr.net/#/rooms/AspNetvNext


Sunday, August 31, 2014 12:05:20 AM UTC
I'm not a big reader and that alone prolly gives me away, but at the same time I think their is an understanding to be made here. I think many wallow in change rather embrace it even to the corporate level of big business deciding its time to re-write software. I think their are certainly decisions made where upgrades and re-writes become inevitable for future progress but at the same time, I haven't yet seen many business offering up bucks to bring in MVC specialist to re-write legacy system built using older versions of .NET that include custom MVC built architectures. Essentially we all as developers adapt to change, we live or die. I think prolly the longest lasting and still in business today even with the bells and trickets that entity framework has to offer is ADO.NET. Finally point: if vNExt works it works otherwise it will become a pastime like other other attempts such as Silver light etc.
Marcus
Sunday, August 31, 2014 2:47:49 AM UTC
It's really nice to see Microsoft embracing open source like this. The more portable c# becomes the better.
tyrsius
Sunday, August 31, 2014 3:07:06 AM UTC
Really looking forward to vNext and its the cross-platform capabilities. Like some of the other commenters I'm confused whether WebForms will be supported in vNext. I've read some articles that say definitively no, but others that make it seem like it may. Would love to get clarification on this.
Monday, September 01, 2014 1:07:28 PM UTC
It looks like vNext is going to be based on OWIN/Katana. Are there any posts/docs on how to convert existing MVC 5 applications to OWIN/Katana so we're ready to take advantage of vNext?
michael
Monday, September 01, 2014 1:18:48 PM UTC
I watched a Tech Ed 2014 Q&A video that basically said that WebForms will still have a dependency on System.Web...

This means no bin deployable core framework/self hosting options will be available for WebForms.

Plus above all this my understanding is that you will need .NET 4.5.1 for bin deployable core framework to work anyway.

So essentially WebForms applications will always depend on the full framework. On the assumption that Mono continues to implement all of the needed area's of the full framework I would assume this would also make WebForms applications cross platform...
Daniel Kay
Tuesday, September 02, 2014 4:33:21 AM UTC
Dependency injection everywhere. Really? That's a lot of duct tape to be able to ease testing/mocking. The decoupling defence is not really a good one either. It's more about testing. Plus it makes for worse, less easy to understand code. This is not a good development.
Diego
Tuesday, September 02, 2014 2:21:25 PM UTC
Big smiley face from me for customizable command-line scaffolding, but I'm curious how I can create different items. For example, I'd like to scaffold EditorTemplates/Account.cshtml and then use Html.EditorForModel() in my Create and Edit views. In MvcScaffolding language this is called creating custom scaffolders.

Would someone kindly point me in the right direction?
Wednesday, September 03, 2014 1:50:45 PM UTC
VS Wish list request: Add a toolbar and/or keyboard shortcut for the Debug->Exceptions->"Common Language Runtime"->Thrown checkbox.
Tone Engel
Thursday, September 04, 2014 1:01:51 AM UTC
@Diego: Just because they bake dependency injection into the framework does not mean you *have* to use it. It just makes it more convenient if you do.
Thursday, September 04, 2014 11:34:13 PM UTC
Great to see more news about vNext here. By the way, I saw in another post here, your use a synology nas for somethings (Plex). Would be great if we could use vNext (ASP.net) on a Syno NAS e.g. for Webprojects!
Snod
Friday, September 05, 2014 10:42:01 AM UTC
As much as I love C#, .NET, et al, I will not to go back to Windows to use it - no way!

Getting this running on Linux would improve my life somewhat.

Thanks for listening to our rants on your "Aint your pappa's MS" article, and actually doing something about it.

Now, if only Jetbrains would release a C#/.NET IDE...
tin tom
Wednesday, October 15, 2014 5:15:38 AM UTC
I have to say I'm certainly excited by what the future holds for .NET developers with vNext. The ability to host on Linux holds some great promise. There is one question in my mind that doesn't get pushed to the side with the well it's currently just a CTP. Visual Studio currently offers what in my opinion is great remote debugging toolset. Are we going to have some way of doing this when our vNext applications are hosted on Linux?
Dan S
Tuesday, October 28, 2014 11:50:16 AM UTC
@Michael

Start listening around 34 minutes
Steve Buchok
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.