web.config XML-Document-Transform在VS 2013中不起作用

时间:2014-11-28 14:06:33

标签: c# xml xdt-transform

为不同的环境自动化web.config转换是否具有最佳使用概念? 我有一个以下作为选项之一。但是有没有比这个SDT更好的选择?

我尝试使用XML-Document-Transform概念为Test,Staging和PROD等环境生成配置文件。但是结果web.config没有反映Test / Staging / RPOD的变化。

web.config xml:

 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
    <connectionStrings>
        <add name="personalDB"
              connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyDevReleaseDB;Integrated Security=True" />
   </connectionStrings>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
   </system.web>
  <system.webServer>
     <defaultDocument>
       <files>
         <add value="lists.html" />
      </files>
    </defaultDocument>
  </system.webServer>
</configuration>

下面是带有xdt关键字的Web.PROD.config,它显示在配置管理器的活动解决方案配置中。

 <?xml version="1.0" encoding="utf-8"?>               
 <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">      
     <connectionStrings>
       <add name="personalDB" 
         connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleasePRODDB;Integrated Security=True" 
         xdt:Transform="Replace" xdt:Locator="Match(name)"/>
   </connectionStrings>
   <system.web>
      <compilation xdt:Transform="RemoveAttributes(debug)" />
   </system.web>
 </configuration>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我正在尝试构建解决方案并验证web.config,这不是检查转换后的web.config的正确方法。

当我使用所选的构建配置部署Web应用程序并使用一键式发布到本地iis上的本地主机时,将转换Web.config文件。