web.config transform - delete comments from connectionstring section
Instead of transforming the string, or using "Remove" and "Insert" clean the section try using "Replace".
For example:
<connectionStrings xdt:Transform="Replace"> <add name="myDb" connectionString="Data Source={SERVER};Initial Catalog=ManEx;User Id={USER};Password={PASSWORD};" providerName="System.Data.SqlClient" /></connectionStrings>
You can configure this section exactly how you want it, even if that means you add new comments.
What I did based on this answer was the following:
- Removed the existing
connectStrings
section inWeb.config
which contains commented out connection strings used during debug time; - Re-added the
connectionStrings
section with the correct connection string to be used when the app is deployed.
So in your Web.config
transform file you have something like this:
<!-- Removes the existing connectionStrings section which contains internal connection strings used for debugging --><connectionStrings xdt:Transform="Remove"> </connectionStrings><!-- Re-adding the existing connectionStrings section --><connectionStrings xdt:Transform="Insert"><add name="MyConnectionStringName" connectionString="Data Source=CLUSTERSQL;Initial Catalog=MyDatabase;Integrated Security=True;multipleactiveresultsets=True" providerName="System.Data.SqlClient" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/></connectionStrings>
In Visual Studio 2013, you can have several Web.config files.
Also, when you create a new project, VS creates 2 for you : Web.Debug.config and Web.Release.config. That way, you can have a different Web.Config for your debug project and for your release project