title: Deploy on premise web app with transformed release configs
body: <p>We are in the process of setting up our release definitions to finally finish the last piece of our CD/CI setup in VSTS and are running into an issue where we are unable to transform our configs.</p>
  
  <p>Currently we are following <a href="https://www.hanselman.com/blog/BestPracticesForPrivateConfigDataAndConnectionStringsInConfigurationInASPNETAndAzure.aspx" rel="nofollow noreferrer">Scott Hanselman's</a> approach of keeping connection strings and secrets out of our web.config via a secrets.config because we don't want any of that information committed to source control. If there is a better practice for this scenario we are open to switching but currently unsure of how this would integrate with VSTS CD/CI.</p>
  
  <p>We've tried using the <a href="https://marketplace.visualstudio.com/items?itemName=qetza.xdttransform#overview" rel="nofollow noreferrer">XDT Transform Extension</a> to transform our web.base.config to web.config to remove the file and the configsource references but it doesn't seem to be transforming.</p>
  
  <p><a href="https://i.stack.imgur.com/hmV1Q.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hmV1Q.png" alt="enter image description here"></a></p>
  
  <p>We've also used the IIS Web App Deploy task with the XML transformation and XML variable substitution but the transformation isn't working because the web.base.config doesn't exist in the artifacts. I'm not sure why that is not being pulled in on build.</p>
  
  <p><a href="https://i.stack.imgur.com/MRWvS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MRWvS.png" alt="enter image description here"></a></p>
  
  <p>We'd like to know what best practice is for any or all of these different steps and how we can accomplish an on premise deployment successfully without committing config settings to source control. We'd also like to know how to execute this methodology for console apps as well.</p>