2012-11-07 7 views
5

Ich habe begonnen, eine ASP.Net MVC 3 Web-Anwendung mit kürzlich Angeben Web Deploy mit IIS 7 auf dem Server und Visual Studio 2012. Mein Projekt in Frage.verschiedene appSettings mit Web Deploy in VS 2012

Ich habe alles korrekt eingestellt und die Veröffentlichung arbeitet und ich erhalte die gewünschte Verbindungszeichenfolge Transformation so die Ziel-Server die richtige Datenbank zugreifen können.

Allerdings gibt es ein paar appSettings, die auf dem Server anders als die Werte für die Entwicklung auf dem lokalen Rechner verwendet werden müssen.

Lets für dieses Beispiel sagen, ich habe eine Entwicklung web.config mit den folgenden:

<appSettings> 
    <add key="CommonName" value="AlwaysTheSame" /> 
    <add key="VariableName" value="LocalValue" /> 
<appSettings> 

und wann es veröffentlicht wird ich möchte es sein, wie auf dem Server folgt:

<appSettings> 
    <add key="CommonName" value="AlwaysTheSame" /> 
    <add key="VariableName" value="ServerValue" /> 
<appSettings> 

Ich denke, dass ich etwas in der .pubxml Datei ändern muss, die im Ordner Properties > PublishProfiles gefunden wird, da dies scheint, wie die Verbindungszeichenfolge geändert wird. Ich finde jedoch keine nützliche Information darüber, wie ich diese Datei an meine Bedürfnisse anpassen kann. Welche Änderungen muss ich machen?

Antwort

6

könnten Sie Config-Transformationen verwenden, mit denen Sie mulitple Versionen einer Konfigurationsdatei für verschiedene Umgebungen haben:

enter image description here

Dann beim Veröffentlichen Sie Ihre Umgebung aus, und dies wird die Bahn außer Kraft setzen. config mit der umgebungsspezifischen Konfiguration.

In Bezug auf die in den verschiedenen Bereitstellungstypen konsistent einen Wert zu halten, könnte man nur, dass speichern im Haupt web.config, und speichern Sie die anderen in web.live.config usw.

Weitere Informationen von Konfigurations Transformationen, lesen Sie diese große Blog Post von Vishal R. Joshi:

http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx

+1

Hmmm ... das sieht vielversprechend aus. Ich werde spielen und sehen, wie es geht – musefan

2

Wenn Sie die Werte kennen auf dem Server im Voraus zu verwenden, dann können Sie Web.config Transformationen verwenden.
Wenn Sie jedoch diese Werte erfordern als Parameter während des Bereitstellungsprozesses auf dem Server eingegeben werden, dann können Sie Web Deploy-Parameter verwenden, wie in this MSDN article beschrieben.

Verwandte Themen