I maintain assembly version numbers in my msbuild project files. It is (unfortunately) spread across 3 files for the time being, a .targets file, the master .proj file and a wix (.wxs) file.
So I thought I would hack a quick rake task that will update all these version numbers for me when it comes time to update the application. I ran into a snag though because REXML will by default output attributes like this
<PropertyGroup Condition='$(Configuration) == '''>
which is not what I want in my msbuild files. I instead want it to look like
<PropertyGroup Condition="$(Configuration) == '' ">
What REXML outputs might still work correctly in MSBUILD, I never tested it, but it will be a lot harder to look at the file and maintain it by hand, so a solution is needed.
Thanks to the flexibility of ruby a solution is not that difficult. I found this post which got me started, then I just need to make a small addition (the Text::unnormalize call)
My complete task looks like this: