web.config转换未应用于发布或构建安装包

时间:2010-06-16 14:49:48

标签: c# asp.net visual-studio-2010 web-config

今天我开始在VS 2010中使用web.config转换。首先,我尝试了相同的hello world示例,其中包含许多关于此主题的博客文章 - 更新连接字符串。

我创建了下面显示的最小示例(类似于this blog中找到的示例)。问题在于每当我进行右键单击时 - > “发布”,或右键单击 - > .csproj文件中的“构建部署包”,我没有得到正确的输出。我没有转换web.config,而是获得了 没有 web.config,而是包含了两个转换文件。

我做错了什么?任何帮助都感激不尽!

的Web.config:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="ConnectionString" 
    connectionString="server=(local); initial catalog=myDB; 
    user=xxxx;password=xxxx" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

Web.debug.config:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="ConnectionString"
      connectionString="server=DebugServer; initial catalog=myDB; 
      user=xxxx;password=xxxx"
      providerName="System.Data.SqlClient"
      xdt:Transform="SetAttributes"
      xdt:Locator="Match(name)"/>
  </connectionStrings>
</configuration>

Web.release.config:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="ConnectionString"
      connectionString="server=ReleaseServer; initial catalog=myDB; 
      user=xxxx;password=xxxx"
      providerName="System.Data.SqlClient"
      xdt:Transform="SetAttributes"
      xdt:Locator="Match(name)"/>
  </connectionStrings>
</configuration>

4 个答案:

答案 0 :(得分:23)

不可避免地,这些事情,答案实际上是在盯着我。 web.config的xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"节点中存在<configuration>意味着我的转换不匹配。删除它解决了这个问题。

答案 1 :(得分:2)

在你的web.release.config和web.debug.config文件中为你的转换添加相同的命名空间,ala

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

...

答案 2 :(得分:2)

对我来说,这是:

(1)菜单构建 - 配置管理器

(2)在我的案例中选择活动解决方案正确发布和配置(我选择了Debug,因此没有应用Publish的转换)

答案 3 :(得分:1)

我遇到了类似的问题,修复是因为我为我的环境设置了解决方案配置,但我从未创建过与解决方案配置一致的项目配置。

要检查:

  1. Under&#34; Build&#34; - &GT; &#34;解决方案配置&#34;
  2. 更改您的&#34;有效 解决方案配置&#34;,并确保您的项目配置 根据您已命名的配置文件排队。