If you’re trying to modify app.config files for a .Net app from a nant build script using the <xmlpoke> task, the namespace you need to use switches part-way through. If you’ve set prefix “x” as “urn:schemas-microsoft-com:asm.v1″ in the namespaces, then a full path for assembly redirection may include the following:

/configuration/runtime/x:assemblyBinding/x:dependentAssembly/…

Note the lack of x’s on configuration and runtime, yet their presence on assemblyBinding (and all child nodes).

I feel both silly and outraged. Silly because I probably should’ve caught this sooner than I did. Outraged because it’s not mentioned anywhere, and the examples given for <xmlpoke> don’t go deep enough to uncover this particular xml-newbie gotcha.

*sigh*