Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

ASP.NET Web Config Transform Console Utility Released on Nuget

0.00/5 (No votes)
23 Jan 2013 1  
ASP.NET Web Config Transform Console Utility released on Nuget

Overview

ASP.NET Web.config transformations are a great way to manage configuration differences between environments. You can easily change a database connection string or change the compilation model for ASP.NET. Here is a link to the syntax documentation on MSDN. The problem with web.config transformations is that it has been historically really hard to run the transforms. The tooling to do this was buried into Visual Studio. The ASP.NET team just released a library to run the transformations as a nuget library.

Installation

Using that library, I created a very simple command line tool to transform config files WebConfigTransformRunner is the package containing this utility.

install-package WebConfigTransformRunner

Usage

WebConfigTransformationRunner.exe WebConfigFilename TransformFilename OutputFilename

Scenarios

I see this package being used in two ways.

First, using this in an automated build as part of a packaging process to pre transform configuration files for different environments. This was the main reason I created this library. I am using it in a build in TeamCity to transform my web.config file for an ASP.NET MVC application as part of an automated CI build and deploy.

The second scenario that seems very useful would be to access this package from the install script (install.ps1) from a nuget package. The current configuration transformations that nuget supports is very limited. It works best when you have static configuration nodes that will never change. If you have a node that has an attribute that a user / developer may change, then using a configuration transformation would be more reliable. Since this tool is delivered as a nuget package, the command is available in the path of the nuget console, so a package that needs to run a transformation would just need to take a dependency on this package, then it could run the EXE command from the install script, on the files it wants to transform. I could see running the main web.config with a transformation that is located in the packages content folder, for example.

Want to Help?

The project is open source and available on github. Please submit issues, ideas or pull requests!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here