Using config transforms with EPiServer
Config transforms are great for configuration management. This post mentions one approach for applying config transforms to EPiServer configuration files such as episerver.config.
Adding a config transform file for episerver.config
A while back I blogged about using config transforms with EPiServer. In that post I resorted to moving the <episerver> element into web.config without the custom EPiServer XML namespace to make it easier to have the config transform applied without any customization of the build process.
Keeping configuration files separated
Since then I’ve gone a different route where episerver.config is still a separate file, intact with its original XML namespace. I then use MSBuild to have the config transform be applied on every build:
Note that we use the configuration name (such as “Debug” or “Release”) to determine which transform to apply).
Executing the MSBuild script
In order to have the MSBuild script execute on every build we add it as a post-build event (the <TransformXml> task is included in the MSBuild script inside the ConfigTransform.xml file):
Configuration files in a separate folder
This means we keep all configuration files in a separate folder which is under version control:
Then, on every build, config transforms are applied and the resulting transformed configuration files are copied to the website root.
Contents of episerver.Debug.config
In order to make the config transform file for episerver.config work you have to include the custom XML namespace (in addition to the config transform namespace) like so:
More on config transforms
Here’s the original post on using config transforms with EPiServer. It explains how to apply config transforms for EPiServer settings such as VPP paths and site settings attributes.