There are a couple of things that i strongly dislike about the Web.config transformation in VS2010
- Only works with XML files (eg: Can’t be used to generate a release notes.txt file)
Does not seem to support externalized sections, eg: log4net.config in a separate file No support to copy/paste transform files
- Only works when Visual Studio 2010 is installed (And i am still not convinced a build server should have this).
- Ties environment to build configuration
Lesson learned: Don’t trust your co-workers, always double-check!
- Having multiple transformations is easy-peasy, just invoke the TransformXml task for all your config files and make sure your transformation files are correct. For log4net this would look like
<log4net xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <root> <level value="ERROR" xdt:Transform="Replace"/> </root> </log4net>
- The support for copy/paste can be achieved by removing the DependentUpon tag in your proj file (At the cost that you do not have the + sign in solution explorer which ‘hides’ the transforms files)