Вопрос

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

Используя 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>

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

Это было полезно?

Решение

я нашел этот пост в блоге что предполагает, что трансформатор задыхается на xmlns = атрибуты.

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

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

к этому:

<configuration>
  <connectionStrings>
    etc...

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

Другие советы

Я создал новый проект веб -приложений (Targetting .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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top