ASP.NET 和 web.config 转换在开发时不起作用

ASP.NET and web.config transforms not working when developing

我正在开发一个 ASP.NET C# 项目,我想在其中使用 web.config 转换。

因此我安装了扩展 "Configuration Transform" 并添加了 Web.Debug.configWeb.Release.config

Web.config 中,我没有声明任何特定于我的应用程序的内容。调试配置包含我的 testing/developing 设置,而发布配置包含令牌 #{someVar}#,稍后将被 TFS 替换。

当我发布我的应用程序时,Web.config 会根据配置 (debug/release) 正确创建。 Preview config transform 也给出了正确的结果(除了换行符)。

然而,当使用调试配置从 Visual Studio 2017 启动应用程序时,它会抱怨缺少标签。

这是为什么?我该如何解决?

Web.config

<!-- Does not contain the request tag -->

Web.Debug.Config

<request xdt:Transform="Insert">
    <mysetting>MyDevelopmentSetting</mysetting>
</request>

Web.Release.config

<request xdt:Transform="Insert">
    <mysetting>#{MyTokenThatWillGetReplacedByTFS}#</mysetting>
</request>

Web 配置转换不会在 Visual Studio 中 运行(当您在 VS 中按 F5/run 应用程序时)。他们在发布时只 运行 构建。

由于您的 web.config 没有设置并且应用程序需要它,它正确地抱怨缺少标签。

您需要将此标签添加到您的 web.config。