2016-06-30 3 views
2

Ich wollte fragen, ob jemand jemals Änderungen an den Web API .config-Dateiwerten während des Builds von Visual Studio Team Services vorgenommen hat (ersetzt durch andere Werte)? Gibt es Best Practices oder wie kann ich das erreichen?Best Practices der Konfig-Wert-Aktualisierung für Build-Definitionen

+0

Meinen Sie als 'Web.Debug.config' und' Web.Release.config'? Wenn das 'app.config' ist, hast du http://stackoverflow.com/questions/8082662/how-to-select-different-app-config-for-several-build-configurations angeschaut? –

+0

Ich meine Web.config appSettings Schlüsselwerte – user2086174

+0

Dann verwenden Sie 'Web. {Build-Definition} .config'. –

Antwort

0

Sie können SlowCheetah verwenden, um die Werte in der Konfigurationsdateibasis anhand der Buildkonfiguration zu transformieren, die Sie beim Erstellen der Warteschlange angegeben haben.

Sie können auch Replace Tokens Task verwenden, um die Zeichenfolgen in der Datei durch die Variablen zu ersetzen, die Sie in der Builddefinition erstellt haben.

0

Sie sollten sich Web.configtransformations ansehen. Sie können eine Hauptdatei Web.config haben und anschließend Transformationen definieren, die basierend auf dem Builddefinitionsnamen in den Dateien Web.{Build definition name}.config erforderlich sind.

Beispiel einer solchen Transformation:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <connectionStrings> 
     <add name="MyDB" connectionString="ReleaseSQLServer" 
      xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> 
    </connectionStrings> 
</configuration> 

Transformiert MyDBconnectionString Attribut von jedem vorherigen Wert ReleaseSQLServer.

+0

Wie kann ich (wenn möglich) VSO-definierte Variablen an diese Konfigurationen übergeben? – user2086174

+0

Was meinen Sie mit "VSO definierten Variablen"? –

+0

Wir können mehrere Variablen unter Real- oder Build-Definition definieren – user2086174