Frage

Meine Web.config -Transformationen werden nicht veröffentlicht - und ich denke, der Fehler hat mit diesen Warnungen zu tun, die ich bekomme.

Mit Visual Studio 2010 spiele ich mit meinem herum Web.Config / Web.Config.Debug Dateien.

In meinem .Debug Datei, ich erhalte die folgende Warnung, die mehrfach aufgeführt ist.

No element in the source document matches '/configuration'

Ich denke, es listet es für jeden auf Sektion das existiert in der .Debug Datei.

Also mit der folgenden Beispiel -Datei web.config.debug. Dies wird zweimal aufgeführt. (Ich vermute, der erste ist für <connectionStrings>..</> und der zweite ist für <system.webServer>...</.> )

<?xml version="1.0"?>

<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->

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

    <connectionStrings>
        <add name="Foo" connectionString="Server=foo;Database=Foo;uid=foo;password=foo" providerName="System.Data.SqlClient"
            xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>

    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <clear />
                <add name="ETag" value="Dev_IIS" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>

</configuration>

Kann bitte jemand helfen?

War es hilfreich?

Lösung

ich fand Dieser Blog -Beitrag Dies legt nahe, dass der Transformator auf XMLNS = Attributen erstickt.

Ich habe meine Web.config -Datei aus dieser geändert:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    etc...

dazu:

<configuration>
  <connectionStrings>
    etc...

... und siehe da, es funktioniert!

Andere Tipps

Ich habe ein neues Web -Anwendungsprojekt (Targeting .NET 4.0) erstellt und das web.release.config geändert, um genau das zu enthalten, was Sie oben eingefügt haben. Ich ging dann zu Web.config und fügte Folgendes hinzu:

    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
    <add name="Foo" />  <------------------------added this
  </connectionStrings>

Ich habe dann die Konfiguration in die Veröffentlichung geändert und die Webanwendung veröffentlicht. Die veröffentlichte Anwendung enthielt Folgendes in Web.config

<add name="ApplicationServices"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />
<add name="Foo"
     connectionString="Server=foo;Database=Foo;uid=foo;password=foo"
     providerName="System.Data.SqlClient" />  <-------this got added

Ich bin mir also nicht sicher, wo sich das Problem in Ihrem Fall befindet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top