Web.Config 的 Debug/Release 设置不起作用

4

我在我的web.config文件中有以下内容:

<add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true"/>

在我的Web.Debug.config文件中(与Webconfig相同)
 <add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>

在我的Web.Release.config文件中。
 <add name="AS400" connectionString="Provider=IBMDA400;Data Source=ZZZZZ;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true"  xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>

但是没有任何作用。如果我在发布模式下按F5,我总是有web.config中的连接字符串。

有什么想法吗?


如果你右键点击文件 -> 预览转换,它能工作吗? - cheesemacfly
4
我认为这不是调试和发布配置的工作方式。它们只有在执行发布操作时才会进行转换,而在 Visual Studio 中调试时并不会。我会搜索 Microsoft 的文章,看看是否有提到这一点。 - user2453734
1个回答

12

配置转换只在发布时完成。您的基本配置文件应包含开发设置。如果选择使用默认的构建配置,则通常发布转换文件应包含您的生产环境设置,而调试转换文件将包含您的测试环境设置。

个人而言,我通常为测试和生产创建一个新的构建配置,并将调试和发布转换留空。

编辑: 如果您使用Visual Studio的SlowCheetah扩展的最新版本,它将在构建期间转换您的配置文件。


我之前没有发布过。谢谢 :) - Portekoi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接