ASP.NET 5 (formerly known as ASP.NET vNext), along with .NET Core, is Microsoft’s ground-up rewrite of the .NET Framework. It is designed specifically for modern cross-platform web-application development and involves a number of breaking changes and new concepts that the .NET developer will need to be aware of.
The first major change that most developers will notice straight away is that there is are more *.config files. ASP.NET 5 does away with xml based configuration files, replacing them with a JSON based approach. For example web.config has been replaced by config.json. Another key change, is that we now have access to environment variables as part of our configuration. This in itself is a major departure from the traditional ASP.NET model, and one which does require some careful consideration.
The next major change is the increase in the number of package managers that you now need to be aware of. Gone are the days where all of your ASP.NET application dependencies are managed by NuGet. ASP.NET 5 has a more defined separation of your backend dependencies and your frontend dependencies.
NuGet: For .NET Framework and .NET packages (Backend)
Node Package Manager (NPM): For frontend build dependencies (Frontend)
Bower: For client side frameworks & libraries (Frontend)
Front end build automation / task runners
ASP.NET 5 makes some significant changes to the classic project structure that we are all familiar with. The largest change is the introduction of the wwwroot folder, which is where all of your static assets are stored and served from, files outside of the wwwroot folder are inaccessible. This change provides a higher degree of separation between files that need to be served to a requesting client and your server side code. The wwwroot folder is mapped directly as the root folder of your deployed application.
Would you like to learn more about ASP.NET 5?
SSW Dev Superheroes Adam Stephensen and Duncan Hunter will be covering this and more in their two day ASP.NET 5 and Angular Superpowers Tour. Stopping in Melbourne (16th – 17th March) Brisbane (21st – 22nd March) and Sydney (31st March – 1st April).
Adam Stephensen: Hi. I’m Adam Stephensen. I’m a solution architect at SSW and the principle mentor at FireBootCamp.
I’ve just finished my first application using Visual Studio 2015, MVC-6, and AngularJS. I’m so excited to building enterprise web apps leveraging all the front end best practices developed by the java-script community, and using my C-sharp, MVC, and Web API skills for the back end, and doing it all with the productivity of Visual Studio.
I’ve got to say, though, there’s definitely a lot of pain involved. Moving to MVC-6 and Visual Studio 2015 is a massive change. It’s as big a change as changing from Web Forms to MVC. There’s a lot of new concepts to get your head around, technologies to learn, and best practices to discover.
There are major changes to the solution structure which we will have a look at in a future video. We used to have XML config files. These are gone now. In their place we’ve got JSON based config files. For example, web.config has been replaced by config.json. We only use NuGet now for getting .net framework base packages. We use Bower for funding packages, and NPM for no packages.
Now instead of getting [inaudible 00:01:08] library’s like twitter boot stamp or NuGet, we use Bower as a client style package manager. To add clients on packages we simply add them to bower.json. The other package managing you need to get your head around is NPM, no package manager. We use packages.json to configure which no packages were going to use for tasks like bundling, minification, compiling type script and less, and other frontend build processes.
Okay, yeah. It’s all a bit much. It took us weeks of working with the new stack to work out how everything fit in together, and our best practice is still evolving. But we want to help you out by sharing what we’ve learned so far. So stay tuned, and we’ll be putting together lots of great content to help you get up to speed as easily as possible, and get shipping awesome apps on the lines of technologies.
Thanks for listening, and please drop me a tweet with your feedback.
About the speakers
Adam Stephensen is a Solution Architect at SSW with a decade of experience performing needs analysis, designing and building scalable, database-driven, distributed enterprise solutions incorporating web and windows interfaces.
It takes more to be a great coder than you might think! Check out this video from NDC Sydney featuring Adam Cogan, Michael Smedley and Matt Goldman on the importance of teamwork and good communication in software development. Learn about SSW’s new mobile app and how it connects us with the software development community.
Pragmatic DevOps It’s easy to feel like DevOps is too hard to implement because the theory is hard to apply in their company. Rather than give up, it’s important to be pragmatic and try to solve the problems. To do this effectively, you need the theory. With books like The Phoenix Project and The Unicorn…
New features of C#8.0 SSW’s Andreas Lengkeek talks with ‘the C# guy’ Filip Ekberg on the new features of C# 8.0 and what’s coming down the line. They discuss: – Nullable Types – Async Streams – Pattern Matching – Coming up features
Explore the impressive new features on docs.microsoft.com with Brendan Richards and Dan Fernandez. Docs.microsoft are awesome… and now have code samples that run! See how the magic happens via Azure containers that provide interactive docs that execute .Net code samples and Azure CLI operations in real-time. Also, hear behind-the-scenes stories on how one documentation site…
Remote procedure calls (RPC) have been around since the beginning of time – most of them never copped a speeding ticket! Many of us have lived through XML-RPC – SOAP – .NET Remoting – WCF – JSON-RPC and most recently – REST. Back in 2015 Google threw their hat into the ring with gRPC, promising…
NDC was one of our highlights for 2019! NDC hosted so many great presenters including some of our very own developers. The release of the SSW Rewards app was also a great success with so many on the show floor taking part in the SSW Treasure Hunt.
“Hey Dev, stop for a Sec… it’s not all about Ops!” Admit it! Ever since you adopted DevOps, things are spinning way faster than you thought they would. Tools are taking care of the CI/CD process, an APM platform gives you insights into issues in production, and you are fully focused on your code. Having…
Quick analysis of the Cambridge Analytica scandal currently facing Facebook.
Office 2019 will only work on Windows 10 + what’s the difference between an MSI and Click To Run? | Adam Cogan
Office 2019 will only work on Windows 10. We also cover Windows installer technologies; what’s the difference between an MSI and Click To Run?
This is not the same container 101 talk you’ve seen a dozen times. The point of this talk is how to ship a container to production, once you’ve built it. We’ll containerize a .net core app, debug locally, set up continuous deployment, set up a container cluster and deploy to it.