I am doing automation in my company. We are a C# workshop. Currently I am working on automated build. NANT is flow control tool. While NANT is not actively developed (last binary released on June 2012 and github repo is not active), MSBuild is better. Therefore, I prefer MSBuild but retiring NANT is still questionable - what is the cost?
I have come up with some pros and cons, but I know collective intelligence is better. Thanks for your help!
Update: I have read the question, but the second answer rises a concern for me. On build machine there are multiple .NET frameworks, will it be troublesome?
MSBuild
Pros:
- Commercial support
- Community is growing
- Intergrated with VS and TFS
- Keep pace with .Net
Cons:
- Rewrite current script
- Not familiar by people
NANT
Pros:
- Already in use
- Familiar by people
Cons:
- Not updated for a long time (since 2012)
- Community is not active
- Lack of new .Net support
There is a property
nant.settings.currentframework
which is used to set target framework in case you have multiple .net frameworkAs per .92 build:
Thanks for all answers. We have decided to use Cake since we are a C# workshop.
We wrote FlubuCore (rewrite of Flubu). It's an open source C# library for building projects and executing deployment scripts using C# code.
Main advantages of flubu that I see are:
You can find flubu on nuget:
Search for FlubuCore.Runner if u need it for .net project
Search for dotnet-flubu if u need it for.net core project
Example of how flubu is used in .net:
Example of how flubu is used in .net core
}
Detailed presentation and documentation can be found here: https://github.com/flubu-core/flubu.core
You can find full examples here: https://github.com/flubu-core/examples