2016-01-12 5 views
12

Das Projekt, an dem ich arbeite, beinhaltet das Lesen vieler Service-Endpunkte (URL) aus einer Konfigurationsdatei. Da die Liste ziemlich groß sein würde, entschied ich mich, sie in einer benutzerdefinierten Konfigurationsdatei zu behalten, um meine web.config sauber und klein zu halten. Ich habe den benutzerdefinierten Abschnitt zu meinem Web wie folgt hinzugefügt:Wie fügen Sie Konfigurationsumwandlungen für eine benutzerdefinierte Konfigurationsdatei in Visual Studio hinzu?

<mySection configSource="myConfig.config" /> 

Ich funktioniert einwandfrei.

Aber das Problem der Transformation tritt während der Bereitstellung des Projekts in verschiedenen Umgebungen auf. Ich habe drei web.config-Dateien:

Web.config

Web.Uat.config

Web.Release.config

Während die Transformation web.config, die Transformationen für benutzerdefinierte Konfiguration funktioniert Dateien schlagen bei der Bereitstellung fehl.

Gibt es eine Möglichkeit, die benutzerdefinierte Konfigurationsdatei während der Bereitstellung zu transformieren?

+1

einige graben auf das Geschehen. Hab das hier. Offsite ja. Ist es etwas, wonach du suchst? http://www.diaryofaninja.com/blog/2011/09/14/using-custom-webconfig-transformations-in-msbuild – Irshad

Antwort

11

Visual Studio konvertiert standardmäßig nur web.config-Dateien.

Wenn Sie benutzerdefinierte Konfigurationsdatei mit Transformation für DEV benötigen, UAT, ART, etc Umgebungen, dann versuchen zu

  1. Verwenden von benutzerdefinierten Erweiterungen für Visual Studio wie SlowCheetah - XML Transforms für Config transormation Vorschaufunktion.
  2. Fügen Sie für das Projekt von Nuget SlowCheetah hinzu, um Build-Transformation bereitzustellen.

ein wenig Details:

hinzufügen VS Erweiterung SlowCheetah von Erweiterungen und Updates Screen of Extensions and Updates

Rechtsklick auf Ihre myconfig.config und wählen hinzufügen transorm: Screen of Extensions and Updates

Innen Jede definierte Konfiguration fügt Ihre eigenen Transormations-Rules ein:

<services xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <service name="WebApplication1.Services.Service2" xdt:Transform="Replace" xdt:Locator="Match(name)" > 
    <endpoint address="http://localhost:57939/Services/DebugService" behaviorConfiguration="WebApplication1.Services.Service2AspNetAjaxBehavior" 
     binding="webHttpBinding" contract="WebApplication1.Services.Service2" /> 
    </service> 
</services> 

Hoffe, es war hilfreich

+0

Dies bietet keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/10858849) –

+1

Ich dachte, es ist eine Antwort auf die Frage "... die benutzerdefinierte Konfigurationsdatei umwandeln ...?" Ok, gebe Details wie es funktioniert. – Michael

+0

Während ich Visual Studio neu installierte, wurde die Antwort abgelehnt. Hoffe, jetzt ist es in Ordnung – Michael

Verwandte Themen