I am pleased to be able to say that TeamCitySharp is now supports mono. In order to get the project supported I had to change a few parts of the system.
Up until now, each project within the solution has a “BeforeBuild” event that downloaded the nuget packages needed to build the solution. This was in place to keep the github repository small enough to facilitate a fast download for people who fork it. Nuget doesn’t work with mono so there was a trade off I had to make. In this instance I chose supporting mono over the “BeforeBuild” event. This does mean that once the repository is cloned or forked. then it will work instantly. I hope to revisit this if / when someone manages to get nuget working with mono.
The sample build monitor was a standard ASP.NET MVC 3 project. I found that this didn’t build with mono out of the box. It was throwing errors due to the references contained. The following references were present:
On running a reference analysis, I was able to see that the following references were not used:
This meant that only the core references were left behind. This meant that the entire solution was able to build under mono.
In order to build the project with mono, you can run the following command: