c# - 了解 ASP.NET Web.config 转换 - Web.Debug.config
问题描述
我已经为此苦苦挣扎了一个小时,找不到简单的解释或至少一些说明这一点的 Microsoft 文档。
我想了解下一个文件的行为:
- 网页配置
- Web.Debug.config
- Web.Release.config
- Web.Staging.config(我使用右键单击 Web.config -> Add Config Transform 创建了这个)
我在Web.config文件中添加了下一个 appSetting :
<configuration>
..
<appSettings>
<add key="DevDisplayPanel" value="default value" />
</appSettings>
..
</configuration>
在我的Web.Debug.config 中,我将DevDisplayPanel更改为:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="DevDisplayPanel"
xdt:Transform="Replace"
xdt:Locator="Match(key)"
value="Debug mode" />
</appSettings>
</configuration>
我显示了 appSettings 项,如下所示:
ViewBag.Test = System.Configuration.ConfigurationManager.AppSettings["DevDisplayPanel"];
我知道如果我在 Visual Studio中运行 Debug -> Start Debugging ,将从 Web.Debug.config 读取 DevDisplayPanel设置。我找不到说明这一点的 Microsoft 文档。
我尝试使用 Debug、Release 和 Staging 解决方案配置运行我的 Web 应用程序,但它们都显示文件Web.config中的 DevDisplayPanel 值。
Web.Debug|Release|MyConfiguraton.config 文件在哪里发挥作用。我错过了什么,最重要的是,这种行为应该在文档的某处用粗体标出!!
解决方案
Web.config 转换与在给定配置中发布项目相关联。
在 Visual Studio 中调试时,它始终使用普通的 web.config 文件,无论配置是什么。
您需要从菜单选项中选择 Build => Publish,然后运行已发布的应用程序。
推荐阅读
- javascript - 从 ASP.Net MasterPage 调用 JS 函数
- python - 如何在 .Doc 文件上写入字符串
- laravel - EloquentORM 中 ON 语句 (JOIN) 中 AND 语句的等价性
- javascript - 媒体查询在 chrome 和 Firefox 桌面上工作,但在移动设备上不工作
- javascript - 如何从类名中获取动态 id?
- json - 错误:在颤振中使用 fromjson 时,类型“String”不是“index”类型“int”的子类型
- r - 向上舍入到下一个显着数字
- javascript - 如何使用javascript将数据从一个html页面发送到另一个页面
- php - 如何从评论产品中删除昵称和摘要?
- wordpress - Wordpress 在 > 第三个 url 段中显示主页 (200) 而不是 404