Domanda

Le mie trasformazioni Web.Config non vengono pubblicate - e penso che l'errore abbia a che fare con questi avvisi che sto ricevendo.

Usando Visual Studio 2010, sto giocando con il mio Web.Config / Web.Config.Debug File.

Nel mio .Debug File, ricevo il seguente avviso elencato numerose volte.

No element in the source document matches '/configuration'

Penso che lo elenca per ciascuno sezione che esiste nel .Debug file.

Quindi, con il seguente file Web.config.debug di esempio. Questo sarà elencato due volte. (Immagino, il primo è per <connectionStrings>..</> E il secondo è per <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>

Qualcuno può aiutare, per favore?

È stato utile?

Soluzione

ho trovato Questo post sul blog Il che suggerisce che il trasformatore sta soffocando su xmlns = attributi.

Ho cambiato il mio file web.config da questo:

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

a questo:

<configuration>
  <connectionStrings>
    etc...

... ed ecco, funziona!

Altri suggerimenti

Ho creato un nuovo progetto di applicazione Web (targeting .NET 4.0), ho modificato il web.release.config per contenere esattamente ciò che hai incollato sopra. Sono poi andato su web.config e ho aggiunto quanto segue:

    <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>

Ho quindi modificato la configurazione in rilascio e ho pubblicato l'applicazione Web. L'applicazione pubblicata conteneva quanto segue 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

Quindi non sono sicuro di dove sia il problema nel tuo caso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top