Extending The Razor View Engine With View Location Expanders

In a previous post, I dived into view results, and how the razor view engine executes a razor view. Part of the post discussed a feature called view location expanders. An expander does what its name describes. It expands on locating a view within your application, that is, a way to change how your .cshtml files are located. View Localisation A good example of a view location expander, is the built-in LanguageViewLocationExpander....

October 24, 2017 · 3 min · 504 words · Jack Histon

MSBuild Maintenance Made Easy With Shared Properties

The New MSBuild MSBuild is the build engine for .NET and Visual Studio. It is written in such a way to be composable, allowing you to combine project files. If you have ever used Visual Studio, then you have indirectly used MSBuild. When you open Visual Studio, it is using MSBuild to restore, build, and manage your projects. Recently, a new version of MSBuild has hit the streets. This came out along with Visual Studio 2017, and has changed design....

October 12, 2017 · 3 min · 584 words · Jack Histon

Docker Compose for a Simpler Life

Docker is a tool that allows you to create containers on the fly, allowing you to easily deploy applications on any environment. This blog post won’t give you the in’s and out’s of all that is Docker. Docker is too big to delve into as a whole in one blog post. This post will discuss docker-compose; a tool that runs and synchronises containers simultaneously. I am a windows man by nature - I am a ....

August 15, 2017 · 7 min · 1330 words · Jack Histon

Using IConfigureOptions<T>

The configuration API in ASP.NET core is now a first-class citizen. It is now easier than ever to configure applications within a .NET application. If you visit the main documentation page Configuration in ASP.NET Core it will give you detailed instructions on how to use it. One part of the documentation discusses the IOptions snapshot. This allows you to take a configuration file - typically json - and automatically deserialise it into a plain old CLR object (POCO)....

July 30, 2017 · 3 min · 539 words · Jack Histon