VS2010 Clean Web.configs - не обновляется - PullRequest
8 голосов
/ 14 апреля 2010

Я возиться с MVC 2.0 на VS2010, и у меня возникла проблема с работой функции чистого веб-конфигурации.

В основном у меня Web.debug.config у меня

<connectionStrings xdt:Transform="Replace">
  <add name="ApplicationServices" 
    connectionString="Server=localhost;Database=SITE_DB;User ID=dbuser;Password=P@ssw0rd;Trusted_Connection=False;" />
</connectionStrings>

and in my `Web.config` I have

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

Когда я запускаю сайт в режиме отладки, я ожидаю, что xdt: Transform = "Replace" заменит весь раздел connectionStrings тем, что находится в Web.debug.config.

Я ошибаюсь? Или я делаю что-то еще неправильно. По этому поводу размещено не так много информации, и я решил бы спросить вас, ребята.

Ответы [ 3 ]

11 голосов
/ 26 марта 2011

Преобразования .config происходят только при публикации или развертывании приложения каким-либо образом. Если вы просто отлаживаете, преобразования не произойдут.

Это звучит безумно, но это прямо из уст представителя MS: http://forums.asp.net/p/1532038/3711423.aspx

1 голос
/ 09 октября 2013

Вы можете включить это поведение, но вам нужно будет создать файл «шаблона» для хранения вашего состояния перед преобразованием в файле, который не называется Web.config, в противном случае вы просто перезапишите свой шаблон с вашими преобразованными изменениями. Вам также необходимо добавить задачу преобразования в файл проекта, чтобы она выполнялась при отладке.

<PropertyGroup>  
    <BuildDependsOn>  
        CustomWebConfigTransform;  
        $(BuildDependsOn);  
    </BuildDependsOn>  
</PropertyGroup>  
<Target Name="CustomWebConfigTransform">  
    <TransformXml source="Web.template.config"  
        transform="Web.$(Configuration).config"  
        destination="Web.config" />
</Target>  

В приведенном выше примере предполагается, что у вас есть файл шаблона web.config с именем Web.template.config, и вы примените преобразование и создадите файл Web.config при запуске проекта.

Ссылка: http://www.kongsli.net/nblog/2012/01/13/enabling-web-transforms-when-debugging-asp-net-apps/

0 голосов
/ 28 апреля 2010

я думаю, вам нужно поместить xdt: Locator = "Match (name)" в

<connectionStrings xdt:Transform="Replace" xdt:Locator="Match(name)">   
    <add name="ApplicationServices" 
      connectionString="Server=localhost;Database=SITE_DB;
      User ID=dbuser;Password=P@ssw0rd;Trusted_Connection=False;" 
     /> 
</connectionStrings>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...