3

Мои трансляции Web.Config не публикуются - и я думаю, что ошибка связана с этими предупреждениями, которые я получаю.Что означают эти предупреждения Visual Studio?

Используя Visual Studio 2010, я играю с моими Web.Config/Web.Config.Debug файлами.

В моем файле .Debug, я получаю следующее предупреждение, указанное много раз.

No element in the source document matches '/configuration' 

Я думаю, что она перечисляет его для каждого раздела, который существует в файле .Debug.

Итак, следующий образец файла Web.Config.Debug, который будет указан дважды. (Я предполагаю, первый один для <connectionStrings>..</> и второй для <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> 
Может

кто-нибудь помочь, пожалуйста?

+0

У меня такая же проблема: http://stackoverflow.com/questions/12593671/why-wont-my-web-config-transforms-work –

ответ

3

Я нашел this blog post, который предполагает, что трансформатор задыхается от xmlns = attributes.

Я изменил мой файл Web.config из этого:

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

к этому:

<configuration> 
    <connectionStrings> 
    etc... 

... и вот, это работает!

0

Я создал новый проект веб-приложения (target .net 4.0), изменил файл Web.Release.config, чтобы точно указать, что вы вставили выше. Затем я пошел в 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" /> <------------------------added this 
    </connectionStrings> 

Затем я изменил конфигурацию, чтобы освободить и опубликовал веб-приложение. Опубликованная заявка содержала следующее в 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 

Так что я не знаю, где эта проблема в вашем случае.

+0

Попробуйте создать новый проект, как я, и посмотрим, способный воспроизвести проблему. –

+0

У меня такая же проблема (http://stackoverflow.com/questions/12593671/why-wont-my-web-config-transforms-work). Казалось бы, что-то в Web.config, что преобразования не нравятся. Хотел бы я знать, что ... –