Previously: Part 1: The Goal
The code for the example is available on GitHub.
How it looks
So here’s the Hello World page in production:
We navigate to the plugins view and create a new replacement for the HelloWorldGenerator:
Without restarting, we can return to the HelloWorld page and see that the new class is being used because the output has changed.
If you delete the row from the plugins page, the behaviour reverts to the original implementation (the code that was originally shipped with production).
Basic project setup
First, I created a new ASP.NET MVC 5 application. I added a HelloWorldContrroller and a View. I added a
Plugin model and corresponding views. To get started I followed the tutorial here (http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started). Once I had the basics in place, I added the following NuGet packages.
The Microsoft.CodeAnalysis.CSharp is the ‘Roslyn’ package. It is still in beta, so you have to switch to the pre-release.
Next we’ll look at the dependency injection part in more detail.