Ah, at last we get to running ASP.NET Core on a Docker image! In this episode the monsters start up their simple ASP.NET Core application inside of a docker container running on a virtualized Linux environment. Learn what goes into a Docker file and how Docker Machine makes all this possible on Windows.
If you spend a bit of time around the net ASP.NET Core there is a word you’re going to hear thrown around a bunch and that is “middleware”. I find middleware to be a confusing term which doesn’t mean anything or perhaps means everything. Let’s figure out what middleware means and what sorts of middleware we can slot into ASP.NET Core.
Middleware sits between two pieces of software which talk with one another piece. It is responsible for connecting the softwares together and may intercede to alter the communication or even intercept it. I know what you’re thinking: that’s a super vague definition, by that definition almost everything is middleware. Yep. See why I consider the term to be so confusing? The software we use these days is hugely abstracted and there are a lot of layers. Any of these layers in between are middleware.
Wait, isn’t this the ASP.net Monsters and not the Docker Monsters? It is but Docker and containers in general are going to be a big thing in the next few years and the ASP.NET rewrite has come just in time for them. In this episode monster Simon takes us through what docker is and what it is going to mean for development in the coming years.
What is the .NET framework and what does each part do? How does .NET Core differ from the full framework. In this episode monster Simon talks, at a high level about how the bits of the framework fit together. We also talk about why there are so many packages in your solution now and what advantage that gives you over the old monolithic approach to the .NET framework.
AppVeyor is a great continuous build/delivery service which is hosted in the cloud. You can think of it as a hosted alternative to TeamCity or Visual Studio Online. One of the best things is that it is free for open source projects. This makes it a popular choice for something like GenFu, our test data generation tool.
There are a couple of ways to set up AppVeyor for building a project like GenFu. You can put in place an AppVeyor.yml file which gives instructions about which steps to run to generate a build. Alternately you can put in place a powershell script to do the building. I opted for the latter because it is more portable to other build tools should it be necessary.
The first thing to do is to set up an AppVeyor account and hook it up to your source control. I signed in with github credentials so it was easy to locate the GenFu project which is, of course, hosted on github.
In the build tab I put in just a call to a powershell script.
I went to build an older project on which I hadn’t worked for a while and I found that running msbuild on the solution file like so
resulted in an error which looked like