Wie hinzufügen von config-Transformationen für eine benutzerdefinierte config-Datei in Visual Studio?
Dem Projekt an dem ich arbeite beinhaltet das Lesen eine Menge von service endpoints (url) aus einer config-Datei. Da die Liste wäre ziemlich groß, dass ich beschloss, Sie zu halten in einer custom config-Datei, um meine web.config sauber und klein. Ich enthalten den benutzerdefinierten Bereich auf meiner Website wie folgt:
<mySection configSource="myConfig.config" />
Ich funktioniert bestens.
Aber das problem der transformation wird während der Implementierung des Projekts an unterschiedliche Umgebungen. Ich habe drei web.config-Dateien:
Web.config
Web.Uat.config
Web.Release.config
Während der transformation web.config arbeitet, die Transformationen für die benutzerdefinierte config-Dateien schlägt fehl, die Bereitstellung.
Gibt es eine Möglichkeit, ich kann Sie verwandeln die custom config-Datei während der Bereitstellung?
InformationsquelleAutor der Frage TejSoft | 2016-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Visual Studio verwandelt, nur web.config-Dateien standardmäßig.
Wenn Sie brauchen, custom config-Datei mit einer transformation für DEV, UAT, PROD, etc. Umgebungen, dann versuchen Sie
Ein bisschen details:
Hinzufügen, VS-Erweiterung SlowCheetah von Erweiterungen und Updates
Rechten Maustaste auf Ihre myconfig.configund wählen Sie add transorm:
Innerhalb jedes definierten Konfigurationen legen Sie Ihre eigene transormation rulles so:
Hoffe, es war hilfreich
InformationsquelleAutor der Antwort Michael
Werde ich erweitern auf Andoni Ripoll Jarauta die Antwort ein wenig.
Wurden wir konfrontiert mit einem ähnlichen problem. Ich wollte ziehen Sie die Verbindungszeichenfolgen aus dem web.config-Datei zu begrenzen merge-Konflikten. Wollte ich auch erstellen Sie eine "Freigabe" config enthält statische Informationen, die bei der Veröffentlichung.
...einfach genug. Erstellen Sie eine benutzerdefinierte config-Datei, webdb.config", und aktualisieren Sie die web -.config-Datei.
Ex.
web.config
wedbdb.config (xml version="1.0" erforderlich ist für die transformation)
Nächsten add-transformation-Dateien für die webdb.config
WebDB.Debug.config Beispiel:
WebDB.Release.config Beispiel:
Nächstes müssen wir hinzufügen, ein nach-Ereignis. Diese wird erstellt, indem Sie einfach Bearbeiten Sie die CSPROJ-Datei.
Wenn ich jetzt lokal ausführen, ich werde WebDB.Debug.config und veröffentlicht, wenn ich meinen code, den ich gerade brauchen, um stellen Sie sicher, wählen Sie "Release", da die Konfigurations-Quelle. In beiden Fällen ist die WebDB.config-Datei werden aktualisiert und die entsprechende Datei, wenn Sie bauen.
HINWEIS: stellen Sie sicher, dass Sie die webdb.config, webdb.debug.config, und webdb.release.config auf "nicht kopieren" für den "Copy to Output Directory" - option.
Hoffe, das hilft!
InformationsquelleAutor der Antwort spyder1329
Ich habe mit SlowCheetah aber ich habe etwas gefunden, dass ich denke, ist mehr elegant. Nur zu sagen, um den build zu generieren .config abhängig von der build-Konfiguration.
Mit einer app.Release.config in dein Projekt (oder viele mehr, je nach Sie-Bereitstellung benötigt), die Sie gerade brauchen, um Bearbeiten Sie die Projektdatei (die .csproj, wenn Sie das Programm in C#). Finden Sie die Ende es, zwischen den letzten
</ItemGroup>
und</Project>
und hinzufügen:Speichern und laden von VisualStudio. Kompilieren im Release-Modus und überprüfen Sie die bin/Release Ordner auf Ihrem
<MyProject>.config
- Datei die transformation erfolgt.Dieses Beispiel gilt für Exe-und Dll-Dateien, um die VisualStudio-version, da gehören dieser post helfen
InformationsquelleAutor der Antwort Andoni Ripoll Jarauta