Comment puis-je utiliser le Web.Config transformer sur mes chaînes de connexion?

Dans mon projet actuel, j'ai des chaînes de connexion valides pour les machines de développement locales:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=SSPI"
  </connectionStrings>
....
</configuration>

Comment utiliser le Web.Config transforme pour convertir de cette expression en une valide pour notre serveur de production? Le serveur de production ressemblerait à quelque chose comme:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword"
  </connectionStrings>
....
</configuration>

La syntaxe n'est pas évidente pour moi, et j'échoue complètement à grokking la page dessus.

26
demandé sur Mike Bailey 2011-12-03 10:42:08

2 réponses

Cela fonctionne pour moi, mais j'ai aussi trouvé que c'était un peu flakey parfois. Vous devrez créer un autre fichier appelé Web.Config.Libérez-le et remplissez-le avec ce qui suit:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <connectionStrings>
    <add name="local" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword" 
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

  </system.web>
    <appSettings>
        <add key="default_db_connection" value="local" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>
42
répondu sbeskur 2013-01-31 21:34:58

Vous ne devriez pas avoir besoin de créer un nouveau fichier, il devrait être dans l'Explorateur de solutions, développez Web.config, et ouvrir le site Web.Publier.config.

Scott Allan a une bonne vidéo ici (sous Configuration et déploiement > Transformations de configuration).

7
répondu Garrett Fogerlie 2014-06-10 15:23:00