The five major changes in ASP.NET 5 and MVC 6 are as follows:
ASP.NET on Linux and OSX
ASP.NET is opened up to a whole new audience of web development specialists as you can now run ASP.NET 5 applications on OSX as well as Linux. This will also widen the horizons of ASP.NET MVC specialists and provide opportunities for other developers to work with .NET framework with better capacity.
No more Web Forms and Visual Basic
Web Forms are no longer part of ASP.NET 5 and there is no support for Visual Basic; it only supports C#. However, you can build apps of Web Form through Visual Studio targeting .NET framework 4.6 but you won’t be able to get the benefit of new features in ASP.NET 5.
Support for client-side development
AngularJS is the most undisputed choice of developers as a client-side framework for creating single page applications (SPAs). And the good news is that ASP.NET 5 is all tuned with AngularJS and it will allow you to create SPAs seamlessly. Moreover, you can use tag helpers to create views in ASP.NET MVC applications.
Unified Web API and MVC Controllers and View Components
Unlike other versions of MVC, MVC 6 uses only a single controller class for both the Web API and the MVC controllers. Moreover, MVC 6 returns an IActionResult through controllers which enable you to use it as data when the controller of Web API is used. In MVC 6 view components have been added instead of sub-controllers. Furthermore, it utilizes a different technology known as View Components rather than Html.Action helper method used by previous releases.
ASP.NET Dependency injection and xUnit.net
Now there is no need to take the help of third-party Dependency Injection frameworks such as AutoFac and Ninject because ASP.NET 5 has support for the pattern of Service Locator and the dependency injection.
Furthermore, a legacy testing framework is no longer present in ASP.NET 5 rather it contains xUnit.net framework for testing. Earlier two attributes known as [TestMethod] and [TestClass] were used to describe a unit test. Now, xUnit.net framework in ASP.NET 5 uses [Fact] attribute rather than [TestMethod] attribute and there’s no [TestClass] in the new framework.
An example of the code snippet is using xUnit.net framework is depicted below:
public class Tests
public void SumofNumbers ()
var testcalculator = new Calculator ();
var result = testcalculator. SumofNumbers (1, 1);
Assert. Equal (result, 13);
Microsoft is advancing from proprietary to open source. With ASP.NET 5 and MVC 6, the tech giant is making some positive moves. What’s your perspective about the changes mentioned above? Will it make any change to your development experience? Please share your views with us by leaving your comments below.