Visual Studio 2013使用错误的配置文件

时间:2016-08-23 14:25:37

标签: visual-studio-2013 configurationmanager

我有一个C#web项目。我打开了配置管理器,用于" Active解决方案配置"我选择了

在新窗口中,我输入了名称(Dev),并没有复制任何设置。我检查了#34;创建新的项目配置"。

我右键单击了我的Web.config并选择了#34;添加配置转换"。 Web.Dev.config按预期在web.config下缩进。

我的web.config包含错误的数据库值:

<connectionStrings>
    <add name="PdxContext" connectionString="Data Source=badServer; Initial Catalog=badDB; Integrated Security=true; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>

我的Web.Dev.config部分包含有效的数据库值:

<connectionStrings>
    <add name="PdxContext" connectionString="Data Source=.\sql2012; Initial Catalog=test; Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>

...但是当我选择Dev配置并点击运行时,该站点使用web.config文件而不是web.dev.config运行(它尝试连接到名为&#34的不存在的数据库; badDB&#34;在主机&#34; badServer&#34;)。

如果我右键单击web.dev.config并选择&#34;预览转换&#34; Transformed Web.config正确显示它将使用web.dev.config中的connectionStrings值。

哦,在&#34; Dev&#34;的活动解决方案配置的配置管理器中配置列有&#34; Dev&#34;。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决方案可以在这里找到: https://stackoverflow.com/a/3994081

如果您使用的是Visual Studio 2013,请参阅Matti Price对该帖子的回复,“对于在VS的后续版本中遇到此问题的人,我必须更改&lt; Target Name =”CopyWebTemplateConfig“BeforeTargets =”Build“&gt ; To&lt; Target Name =“CopyWebTemplateConfig”BeforeTargets =“PrepareForBuild”&gt;之后一切正常。“