Cosa significano questi avvisi di Visual Studio?
-
29-09-2019 - |
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?
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.