web.config transform - delete comments from connectionstring section

后端 未结 4 2177

I store several different connection strings in my web.config for development and testing. All but one is commented out so I can change info as needed.

When I publish, I

相关标签:
4条回答
  • 2021-02-12 10:37

    If you need to Add/Insert/Setattributes inside a replaced connectionstring (for example if you use deployments) you can nest the transformations to remove the comments and replace the attributes:

    <connectionStrings xdt:Transform="Replace">
        <add name="connectionDatabase" 
             connectionString="#{ConnectionString}" 
             xdt:Transform="SetAttributes"
             xdt:Locator="Match(name)" />
    </connectionStrings>
    
    0 讨论(0)
  • 2021-02-12 10:40

    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.

    0 讨论(0)
  • 2021-02-12 10:42

    What I did based on this answer was the following:

    • Removed the existing connectStrings section in Web.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>
    
    0 讨论(0)
  • 2021-02-12 10:45

    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

    0 讨论(0)
提交回复
热议问题