Configuration management for web application configuration files became quite the hassle in our project team. The team is working with many multiple configuration files for different sites and servers. Some fragments apply to all sites, but some sites have very specific requirements. Next to that, some SharePoint sites have configuration files already in place. We cannot simply replace the existing web.config files.

To solve these issues, a 2-part approach was designed:
  • Step 1, maintain all the fragments in a Visual Studio project for easy maintenance and store these changes in source controls
  • Step 2, apply the output from step one directly on the server.

Step 1, Visual Studio Project


Step 2, Apply configuration changes

GoodStuff comes with a command line application, named GSAdmin.exe.

C:/inetpub/wwwroot/site1> GSAdmin.exe applyConfig

This command will open the existing web.config file in the local folder, and will make sure that any sections defined in 'transformation.config' are injected. A backup of the original web.config is saved in the same folder.

When any new changes are made in the Visual Studio project:
  • take the generated 'transformation.config' from the build output
  • copy it to the target machine
  • Run GSAdmin again

This solution will work for most configurations, for changes that need to be applied to several machines.

Known Issues

There is a known issue with configuration changes that should be removed from the file. Currently, GSAdmin does not support such modifications.

Last edited Oct 20, 2011 at 5:46 PM by drblame, version 1


No comments yet.