App.Config Transformations: The community shines where Microsoft drops the ball

Last year May, I spoke at DevDays Durban about what is new in ASP.NET 4? One of the highlights of that talk is a feature called Web.Config transforms. In short you have a base web.config and then a file per compiler target (i.e. RELEASE, DEBUG). These extra files contain rules on how to transform your web.config when it is published.

In a way of an example you have might your web.config to use your local SQL Server when in Visual Studio, but when you publish a DEBUG build to testing it changes the config to use the test SQL Server. Or when you publish to production it turns off a bunch of logging and shows friendly error messages.

image

There is TWO caveats in this process:

  1. ONLY works for ASP.NET* projects as this is something the ASP.NET team built into their publishing tool support.
  2. ONLY works for publish, if you have an ASP.NET* project and hit F5, nothing happens Sad smile

*ASP.NET = ASP.NET Core, and thus systems that build on top of it (WebForms, MVC & WebPages) all get it.

This is something we need in EVERY project type and we need with F5. Thankfully some bright people did just that for us, with the VS add-in Slow Cheetah.

So now you get the full experience on any project type, PLUS you get a brilliant feature missing in the ASP.NET one – PREVIEW. You can see what the resulting config will look like!

 August 26, 2011 – Learn TFS Daily | Learn TFS's picture

[...] App.Config Transformations: The Community Shines Where Microsoft Drops the Ball from Robert MacLean [...]

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Syntax highlight code surrounded by the <pre class="brush: lang">...</pre> tags, where lang is one of the following language brushes: as3, applescript, bash, csharp, coldfusion, cpp, css, delphi, diff, erlang, groovy, jscript, java, javafx, perl, php, plain, powershell, python, ruby, sass, scala, sql, vb, xml.

More information about formatting options