Corporate · onsite · online training worldwide
contact@DevOpsSchool.com· +91 99057 40781·
> Build Automation · DevOpsSchool Trainer

NAnt Trainer

Private corporate batches, live online cohorts and 1-on-1 mentoring in XML build automation for .NET — projects, targets, tasks, properties and expressions, plus a realistic path off it — taught by a practitioner who runs it in production.

20 years across DevOps, SRE and Security · 10,000+ engineers trained · Trained teams at JPMorgan Chase, Verizon, Nokia and the World Bank

DeliveryOnline · Onsite · Hybrid
FormatsCorporate · 1-on-1 · Cohort
AgendaCustomisable
Batch size8–30 engineers
Engineers we've trained work at
JPMorgan ChaseBank of AmericaWells FargoVerizonNokiaWorld BankGE HealthcareVMwareOracleQualcommMercedes-BenzAirbusDatadogSplunkDeloitteInfosysWiproCapgemini
# who teaches it

Your NAnt trainer

Rajesh Kumar

Principal DevOps Engineer & Architect

Build & release engineeringPipeline designMulti-org CI estates20 years in productionPrincipal / architect roles10,000+ engineers trainedM.Tech BITS Pilani25+ certifications

Rajesh teaches NAnt as a system teams still have to operate — the dependency graph behind targets and depends, property immutability and the override rules that catch out engineers coming from Ant, the expression and function library that removes the need for inline scripting, and filesets and filterchains as the mechanism most legacy builds actually depend on. Sessions cover framework targeting and the configuration that makes a build work on a rebuilt agent, XML loggers and listeners for CI consumption, NAntContrib tasks, and the migration work most teams need: documenting a build's real behaviour first, then moving the process to a maintained tool without silently dropping a step.

Twenty years across DevOps, SRE and Security, in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe and others. He has trained engineers at JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus — more than 10,000 people personally. He teaches what he runs, not what he reads.

One practitioner, not a bench

You are booked with a named engineer, and that is who turns up. Marketplaces and larger providers rotate whoever is free, so the person who sold you the agenda is rarely the person teaching it.

The same trainer is available for the next engagement, which matters when a team builds on what it learned last time.

18,000+certified learners
500+corporate batches delivered
50+countries served
100+certification programmes
# faculty

Who delivers NAnt engagements

Your batch is assigned a named trainer before it starts, and that is who teaches it. See the full faculty.

How your NAnt trainer is chosen

Engagements are matched on the tool, not the calendar. For NAnt that means a trainer who has run it in production — XML build automation for .NET — projects, targets, tasks, properties and expressions, plus a realistic path off it — rather than whoever is free that week. You are told who is teaching before you commit, and that person is on the discovery call that shapes the agenda.

Where a batch is large enough to need a second trainer, the pairing is declared up front. The lead trainer stays accountable for the syllabus and the assessment either way.

Rajesh Kumar

Principal DevOps Engineer & Architect

India20 yrsLead trainer

Twenty years across DevOps, SRE and Security in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe, IBM/Emptoris, Ness, MindTree and Accenture. He has trained more than 10,000 engineers personally, at organisations including JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus. He teaches what he runs, not what he reads.

Pranab Kumar

IndiaInstructorCoach

Rohit Ghatol

IndiaInstructorCoach

Amit Agarwal

IndiaInstructorCoach

Anil Kumar

IndiaInstructorCoach

Balachandran Anbalagan

IndiaInstructorCoach

Durga Prasad

IndiaInstructorCoach

Gaurav Aggarwal

IndiaInstructorCoach

Harsh Mehta

IndiaInstructorCoach

Kapil Gupta

IndiaInstructorCoach

Kunal Jain

IndiaInstructorCoach

Nikhil Gupta

IndiaInstructorCoach

# how to engage

Four ways to work with this trainer

Private corporate batch

Teams of 8–30

Custom agenda, your timezone, onsite or online, NDA-friendly.

Request a quote

1-on-1 mentoring

Individual engineers

A private instructor and a curriculum built around your goal.

₹99,999

Live & Interactive cohort

Individuals who want peers

Scheduled batch, max 8 to 10 hours of live instruction.

₹34,999

Self-paced video

Self-starters

Full LMS access — 20+ courses and 50+ tools included.

₹833/mo
# private batches

Private NAnt training for your team

A private batch starts with a discovery call. We look at the stack you actually run — the CI system, the cloud, the constraints — and map the agenda onto it, so examples use your topology rather than a generic one.

Delivery is onsite at your premises, live online, or hybrid, scheduled around your release calendar rather than ours. Batches run 8 to 30 engineers.

Every attendee leaves with recordings, slides, lab repositories and a completion certificate. You receive an attendance and assessment report. Invoicing supports PO and GST.

Talk to us about a private NAnt batch

What you provide vs what we bring

  • You: the room or the call, and the engineers
  • Us: trainer, agenda, labs, assessment, certificates
  • Labs: we guide your team through provisioning their own free-tier cloud environment — the skill goes with them
# the technology

What is NAnt?

NAnt is a build automation tool for the .NET platform, modelled on Apache Ant and driven by an XML build file. A build file declares a project with a default target; targets declare what they depend on; and targets contain tasks — compile, copy, delete, zip, run tests, invoke an external tool. NAnt resolves the dependency graph, runs each target once, and stops on the first failure unless you tell it otherwise. It is a small, comprehensible system, and that is precisely why a great deal of long-lived .NET software is still built with it.

The language has four things worth knowing well. Properties are named values that are, by default, immutable once set — a deliberate difference from Ant users' expectations and a frequent source of confusion. Expressions and the function library give NAnt real capability without scripting: string, path, file, directory, datetime, version and environment functions evaluated inline with the ${...} syntax. Filesets, with include and exclude patterns, are how a build addresses groups of files without enumerating them. Loggers and listeners control output, and the XML logger in particular is what makes NAnt output consumable by a CI server.

The honest position matters here. NAnt has not had a major release for well over a decade, it targets the .NET Framework rather than modern .NET, and no new project should start on it. But the builds that use it are frequently the ones producing revenue-critical software, and they cannot be rewritten on a whim. Working with NAnt today means two things at once: operating and maintaining existing build files competently, and knowing how to read them accurately enough to migrate the process — not just the syntax — onto something maintained.

Why this skill matters now

There is a large amount of production .NET software whose build is a NAnt file written by someone who left years ago. It works, until it does not: a build agent is rebuilt with a different framework version, a task from an old extension assembly stops loading, a fileset silently stops matching, or a release needs a change nobody dares make. At that point the organisation needs someone who can read the build file properly, and those people are increasingly rare because nobody learns NAnt from scratch any more.

The second and larger driver is migration. Moving from NAnt to MSBuild, or to a scripted build in another language, is not a mechanical translation. A NAnt build encodes years of accumulated decisions — versioning, output layout, signing, packaging, deployment steps, environment handling — and the risk is not in the syntax but in silently losing one of those behaviours. Migrating safely requires first documenting exactly what the existing build does, which requires genuinely understanding NAnt.

Both needs are real and both are underserved. Generic .NET training ignores NAnt entirely, and the surviving online material assumes a 2008 toolchain. Teams that carry a NAnt build need training that takes it seriously as a system to be operated and, when the time comes, retired deliberately rather than abandoned.

NAnt training
# outcomes

What your team can do afterwards

Read an inherited NAnt build file accurately and explain exactly what it does, step by step
Write build files with a clean project, target and dependency structure that other engineers can follow
Use properties correctly, including immutability, overwrite, dynamic properties and command-line overrides
Apply the expression and function library instead of shelling out to scripts for simple logic
Address files precisely with filesets, patternsets and filterchains, and debug patterns that stop matching
Configure framework targeting so a build survives an agent rebuild or a framework change
Wire NAnt into a modern CI system using XML loggers and produce consumable build reports
Plan and execute a migration off NAnt without losing any behaviour the existing build depends on
# curriculum

8 modules. Live demos in a real lab, not slides.

01Why NAnt, and where it stands todayLive & Interactive5 hrs · 2 assignments · 1 capstone

An honest starting point. What NAnt was built for, why so much .NET software still uses it, what its current maintenance status actually means for risk, and what the realistic options are for a team that owns one.

Topics: Why NAnt and what problem it solved · NAnt components and the overall model · Where NAnt sits among .NET build tools · Maintenance status and practical risk · For Ant users: what is the same and what is not · Assessing an inherited build · Deciding between maintain, modernise and migrate

  • Assignments: (1) Assess an existing NAnt build for risk and document three concrete failure scenarios; (2) Write a one-page recommendation for maintaining or migrating one real build
  • Capstone: Produce a risk and options assessment for a NAnt build your organisation depends on
02Installation, framework targeting and running NAntLive & Interactive5 hrs · 2 assignments · 1 capstone

Getting a working, reproducible build environment — including the framework configuration that causes most agent-rebuild failures. Then the command line in full, because that is what CI actually invokes.

Topics: System requirements · Installation and directory layout · The frameworks configuration and target framework selection · Running NAnt from the command line · -buildfile, -D, -t and -find · Verbosity, quiet and debug output · -projecthelp and self-documenting builds · Exit codes and CI behaviour · Reproducing a build on a fresh agent

  • Assignments: (1) Install NAnt and run an existing build against two target frameworks; (2) Reproduce a build on a clean machine and document every prerequisite
  • Capstone: Deliver a documented, reproducible build environment that a new agent can be built from
03Build files, projects and targetsLive & Interactive5 hrs · 2 assignments · 1 capstone

The structure of a build. The project element and its default target, target definition and description, the depends graph and how NAnt resolves it, conditional targets with if and unless, and calling targets explicitly.

Topics: Getting started: a minimal build file · The project element, name, default and basedir · Targets, name and description · The depends attribute and graph resolution · Targets run once — and what that implies · if and unless conditions · The call task and explicit invocation · The fail task and deliberate failure · Structuring a build for readability

  • Assignments: (1) Write a build file with a five-target dependency graph and predict the execution order; (2) Refactor a flat build file into described, dependency-ordered targets
  • Capstone: Deliver a readable build file whose -projecthelp output documents the whole build
04The core task libraryLive & Interactive5 hrs · 2 assignments · 1 capstone

The tasks that appear in almost every real build. Compilation, file and directory manipulation, archiving, external process execution, test execution and reporting, plus the tasks that quietly do the most damage when misused.

Topics: csc, vbc and compilation tasks · The solution task and building existing solutions · copy, move, delete, mkdir and attrib · zip, unzip and packaging · exec and running external tools · nunit2 and test execution · echo, tstamp, sysinfo and loadfile · xmlpeek and xmlpoke for config manipulation · The nant task for sub-builds

  • Assignments: (1) Build, test and package an application using only core tasks; (2) Replace an exec call with a proper task and explain the difference
  • Capstone: Deliver a complete compile, test and package build for a real application
05Properties, expressions and functionsLive & Interactive5 hrs · 2 assignments · 1 capstone

How a build makes decisions. Property definition and the immutability rule that surprises everyone, overwrite and dynamic properties, command-line and environment overrides, and the function library that removes the need to shell out for string, path, file and date logic.

Topics: Property definition and the ${...} syntax · Property immutability, overwrite and readonly · Dynamic properties · Command-line properties with -D · Environment variables and the environment functions · Property files and shared configuration · Expressions and operators · String, path, file and directory functions · datetime, version and conversion functions · Debugging a property whose value is wrong

  • Assignments: (1) Parameterise a build for three environments using properties alone; (2) Replace an exec-based workaround with an expression using built-in functions
  • Capstone: Deliver a build whose environment-specific behaviour is entirely property-driven
06Filesets, patternsets and filterchainsLive & Interactive5 hrs · 2 assignments · 1 capstone

How a build addresses files, and why patterns that used to match sometimes stop. Fileset basedir and include and exclude patterns, default excludes, patternsets for reuse, and filterchains for token replacement during copy.

Topics: Fileset structure and basedir · include and exclude patterns · Recursive patterns and default excludes · Patternsets and reuse · Referencing filesets by id · Filterchains and filter ordering · replacetokens and expandproperties filters · Templating configuration files at build time · Debugging a pattern that matches nothing

  • Assignments: (1) Replace an enumerated file list with a fileset and prove equivalence; (2) Use a filterchain to inject build metadata into a configuration file
  • Capstone: Deliver a build that templates environment configuration from a single source at build time
07Loggers, listeners and CI integrationLive & Interactive5 hrs · 2 assignments · 1 capstone

Making build output useful to machines and to people. The default and mail loggers, the XML logger that CI servers can parse, writing a custom logger or listener in .NET, and wiring NAnt into a modern CI pipeline including test and failure reporting.

Topics: Loggers and listeners explained · The default logger and output control · The XML logger for machine-readable output · Mail logger and notification · Writing a custom logger or listener in .NET · Invoking NAnt from a modern CI system · Publishing test results and build reports · Failure signalling and build status · Archiving build artifacts

  • Assignments: (1) Produce XML build output and consume it in a CI job; (2) Write a minimal custom listener that records target timings
  • Capstone: Deliver a NAnt build running in a modern CI pipeline with parsed test and failure reporting
08Large builds, extensions and migrating off NAntLive & Interactive5 hrs · 2 assignments · 1 capstone

Two things at once. Structuring a build that has grown past one file — includes, shared property files, sub-builds and NAntContrib tasks — and then the migration work most teams eventually need: documenting real behaviour, mapping it task by task, and cutting over without losing a step.

Topics: Splitting a build across multiple files · Shared property and target libraries · Sub-builds with the nant task · NAntContrib tasks and extension assemblies · Writing a custom task in .NET · Documenting an existing build's true behaviour · Mapping NAnt constructs to modern equivalents · Running old and new builds side by side for verification · Cutting over and decommissioning safely

  • Assignments: (1) Decompose a monolithic build file into shared, reusable pieces; (2) Produce a task-by-task migration map for one real build
  • Capstone: Deliver a verified migration plan with old and new builds producing identical output

Need this mapped to your stack?

We rebuild the agenda around the tools you actually run.

Request a custom agenda
# hands-on

Labs and capstones your engineers actually build

LAB · ARCHAEOLOGY

Read the build nobody understands

Take an inherited NAnt build file and produce a complete, accurate description of what it does — every target, property, fileset and side effect.

targetspropertiesanalysis
LAB · ENVIRONMENT

Rebuild the agent

Reproduce a working build on a clean machine, fix the framework targeting and prerequisites it silently depended on, and document the result.

frameworksinstallreproducibility
LAB · BUILD

Compile, test, package

Write a complete build from scratch — compile, run tests, version the output and produce a deployable package — using only core tasks and a clean dependency graph.

cscnunit2zip
LAB · PROPERTIES

Three environments, one build file

Parameterise a build for development, test and production using properties, expressions and filterchain templating, with no duplicated targets.

propertiesfunctionsfilterchain
LAB · CI

NAnt in a modern pipeline

Run the build from a current CI system, emit XML logger output, publish test results and make build failures surface correctly.

xml loggercireporting
CAPSTONE · MIGRATION

Prove the new build matches

Map an existing NAnt build task by task onto a maintained tool, run both side by side, and prove byte-level equivalence of the output before cutting over.

migrationverificationmsbuild
# ecosystem

The tools NAnt sits next to

MSBuild
.NET Framework
NAntContrib
NUnit
Jenkins
TeamCity
Subversion
Git
NuGet
Artifactory
PowerShell
Octopus Deploy

Who this is for

  • Build engineers who have inherited a NAnt build and must keep it running
  • Teams planning a migration from NAnt to a maintained build system
  • Developers on long-lived .NET products whose release depends on a build nobody understands
  • DevOps engineers wiring legacy builds into a modern CI pipeline
  • Release managers who need the existing build documented before it can be changed
  • Engineers moving from Apache Ant to .NET build automation

Pre-requisites

  • Working knowledge of .NET application development
  • Comfortable reading and editing XML
  • Familiarity with the Windows command line
  • Access to an existing build — ideally the NAnt build your team actually owns
  • Version control access to the repository containing that build
# pricing

Straightforward pricing

Every plan includes 1 year of full LMS access — not just this course, the entire DevOpsSchool LMS: 20+ courses, 50+ tools, videos, quizzes, assignments and projects.

Self-paced video

₹833/mo

Billed yearly at ₹9,996

Enroll now

1-on-1 mentorship

₹99,999

Full program, private instructor

Enroll 1-on-1

Corporate / private batch

8–30 engineers · custom agenda · onsite or online · PO and GST invoicing

Get a custom quote

Refunds. If we cancel or postpone a cohort, you get a full refund within 15 days. There is no money-back guarantee otherwise.

Terms. Course material remains licensed to the attendee. Read the terms.

Your data. We don't share it with third parties. Privacy policy.

Every attendee gets a verifiable certificate

  • Issued per attendee on completion
  • Verifiable at devopsschool.com/certificates
  • Hard copy available on request
  • Corporate batches receive an attendance and assessment report
DevOpsSchool

NAnt Training

Certificate of completion

# feedback

What engineers say

4.4 / 5 from 26 reviews on Trustpilot.

★★★★★
My experience with the AIOps training was positive. The course covered important topics in a structured way, and Rajesh Kumar explained the concepts patiently. I found the practical aspects particularly helpful because they made the technical content easier to understand.
AARTI KUMARI · Trustpilot
★★★★★
I was looking to improve my understanding of AIOps, and this training helped me achieve that goal. Rajesh Kumar explained the subject in a structured and practical manner. The sessions on different AIOps concepts were informative.
Sonali Tiwari · Trustpilot
★★★★★
I recently did a SRE Session with Rajesh Kumar from DevOps School and the session was great. Right from 1st day till day 15, we had a very interactive session. Rajesh clarified our doubts and the tool demos were excellent without any hiccups. He simplified the concepts while sticking to the content with a fine balance between theory and practice. Am convinced he is one of the best trainers for SRE & DevOps concepts.
chandrasekaran j · Trustpilot
★★★★★
The Rundeck developer session was excellent and highly engaging. I appreciated how well the session was structured, with the theoretical concepts explained clearly and in simple terms. What stood out most to me was the demo — it was both informative and enjoyable. I especially liked how Rajesh walked us through not only the happy path but also the sad path, showcasing common issues and sharing practical troubleshooting tips.
Raimy Roy · Trustpilot
★★★★★
Rajesh's experience and knowledge are exceptional and we learnt invaluable practical knowledge which we can apply in our production environment. Incredibly friendly and gave us a fantastic insight both in-depth and at a high level of the Rundeck product.
Fire Titan · Trustpilot
★★★★★
Great learning experience from a very knowledgeable instructor with well-prepared course notes. The lab exercises on AWS instance work well to learn the hands-on side of the course.
Ando Gg · Trustpilot
# comparison

Why a named practitioner beats a marketplace listing

What mattersYouTube + blogsGeneric online courseFreelance marketplaceDevOpsSchool
Named practitionerNoRarelyVaries per bookingYes — same trainer each time
Production experienceUnknownUnknownUnverified20 years, named employers
Custom agendaNoNoSometimesBuilt from your stack
Onsite deliveryNoNoSometimesYes
Lab environmentNoneSandbox that expiresVariesYour own cloud — skill goes with you
AssessmentNoneQuizRarelyAssignments + capstone per module
Per-attendee certificatesNoSometimesRarelyYes
Corporate invoicingNoLimitedVariesPO and GST
Post-training supportNoneForum, time-limitedNoneLifetime forum access
# questions

Frequently asked

NAnt is unmaintained. Is training on it still worthwhile?
If you own a NAnt build, yes — someone has to be able to read and change it safely. We say plainly in module 1 that no new project should start on NAnt, and module 8 is a migration module for exactly that reason.
We want to migrate off NAnt. Can the batch be weighted that way?
Yes, and it is the most common request. We keep enough of modules 3 to 6 to read your build accurately, then spend the remaining time on documenting real behaviour, mapping it task by task, and running old and new builds side by side to prove equivalence.
Our build broke after the agents were rebuilt. Will you cover that?
Yes, module 2. Framework targeting, the frameworks configuration, extension assembly loading and undeclared prerequisites are the usual causes, and the lab reproduces a working build on a clean machine.
Can you cover NAntContrib and custom tasks?
Yes, module 8. NAntContrib tasks and extension assemblies, plus writing a custom task in .NET when nothing existing fits — and when it is better to migrate than to extend.
We are coming from Apache Ant. What will surprise us?
Property immutability by default, the ${...} expression and function syntax, framework targeting, and different task names for the same operations. Module 1 covers the differences explicitly and module 5 covers property behaviour in depth.
Can you get our NAnt build into a modern CI system?
Yes, module 7. Invocation, exit codes and failure signalling, XML logger output that a current CI server can parse, test result publication and artifact archiving.
How long does a private NAnt batch take?
Two to three days. Two covers reading, writing and operating NAnt builds competently; the third is usually spent on migration planning and verification against your own build.
Can the agenda be customised for our stack?
Yes — the normal case for a private batch. We start with a discovery call, look at your actual build files and CI setup, and rebuild the agenda around the constraints you have.
What lab environment is needed?
A Windows machine or VM with the .NET Framework and NAnt installed, and ideally a copy of your own build. Attendees provision their own environment with guidance.
Do you deliver onsite?
Yes. Private batches run onsite at your premises, live online, or hybrid, scheduled around your release calendar.
What size are batches?
Private corporate batches run 8 to 30 engineers. Public Live & Interactive cohorts are capped at 10 so everyone gets time with the trainer.
What is your refund position?
If we cancel or postpone a cohort, you receive a full refund within 15 days. There is no general money-back guarantee, and GST and gateway fees are not refunded.

Still deciding?

Tell us the team, the stack and the timeline. You'll get a straight answer, not a sales sequence.

Talk to an advisor
# ready when you are

Book a NAnt trainer — or ask a question first.

  • No spam, no drip sequence
  • Syllabus in 60 seconds
  • A human reply within one business day

Prefer to call or email?

More ways to reach us on the contact page.

Talk to an advisorRequest a quote