// arguments string target = Argument("target", "Default"); string configuration = Argument("configuration", "Release"); // define directories. ConvertableFilePath mainSln = File("./src/Example.sln"); ConvertableDirectoryPath buildDir = Directory("./src/Example/bin") + Directory(configuration); // tasks Task("Clean") .Does(() => { CleanDirectory(buildDir); }); Task("Restore-NuGet-Packages") .IsDependentOn("Clean") .Does(() => { NuGetRestore(mainSln); }); Task("Build") .IsDependentOn("Restore-NuGet-Packages") .Does(() => { if(IsRunningOnWindows()) { // Use MSBuild MSBuild(mainSln, settings => settings.SetConfiguration(configuration)); } else { // Use XBuild XBuild(mainSln, settings => settings.SetConfiguration(configuration)); } }); // task targets Task("Default") .IsDependentOn("Build"); // execution RunTarget(target);