Building Your ASP.NET Core Project on AppVeyor

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.

Imgur

Fixing "Dnx Runtime package needs to be installed" error

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

& "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" .\GenFu.sln

resulted in an error which looked like

GetRuntimeToolingPathTarget:
Cannot find DNX runtime dnx-clr-win-x86.1.0.0-rc1-final in the folder: C:\Users\stimms\.dnx\runtimes
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DNX\Microsoft.DNX.targets(126,5): error : The Dnx Runtime package needs to be installed. See output window for more details. [C:\code\GenFu\src\GenFu\GenFu.xproj]

The Monsters Weekly - Episode 10 'Loading Settings From a Database in ASP.NET Core'

While configuration has been greatly simplified in ASP.NET Core, it won’t provide an answer for all the situations all of the time. One such case is when you need to save and load configuration settings from a database so, here, we’ll show you how.

The Monsters Weekly - Episode 10 'Loading Settings From a Database in ASP.NET Core'

While configuration has been greatly simplified in ASP.NET Core, it won’t provide an answer for all the situations all of the time. One such case is when you need to save and load configuration settings from a database so, here, we’ll show you how.

The Monsters Weekly - Episode 9 - What Makes a Controller

With ASP.NET Core we have new options for the way we build out our controllers. Sure, the conventions we know are there, but today we have the option to use as much or as little of the base class as we like in MVC Core.

The Monsters Weekly - Episode 9 - What Makes a Controller

With ASP.NET Core we have new options for the way we build out our controllers. Sure, the conventions we know are there, but today we have the option to use as much or as little of the base class as we like in MVC Core.

The Monsters Weekly - Episode 8 'Tour of the Default ASP.NET MVC Project'

There is a lot of newness in the default project in MVC Core, so we wanted to break it down and help make it feel a little more familiar. This is episode #8, and we’re walking you through the “File -> New Project” experience.

The Monsters Weekly - Episode 8 'Tour of the Default ASP.NET MVC Project'

There is a lot of newness in the default project in MVC Core, so we wanted to break it down and help make it feel a little more familiar. This is episode #8, and we’re walking you through the “File -> New Project” experience.

The Monsters Weekly - Episode 7 'Custom Tag Helpers'

Back in Episode 4 we looked at tag helpers in the Razor View Engine that make some of the lifting we need to do a little lighter when crafting our views. In this edition of the Monsters Weekly we’ll go a little further and create a custom tag helper.

The Monsters Weekly - Episode 7 'Custom Tag Helpers'

Back in Episode 4 we looked at tag helpers in the Razor View Engine that make some of the lifting we need to do a little lighter when crafting our views. In this edition of the Monsters Weekly we’ll go a little further and create a custom tag helper.