所以我已经安装了最新版本的SlowCheetah(截至本文发布时为3.0.61.18192),并且我在“Debug”和“Release”构建配置中添加了“Test”构建配置 .

然后我能够将“Web.Test.config”添加到已经存在的“Web.Debug.config”和“Web.Release.config”集合中 .

在我的Web.Test.config中,我试图通过告诉SlowCheetah到 xdt:Transform="Replace" 整个配置部分(位于文件顶部)来替换整个'configuration'部分 .

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="Replace">

为了验证我的“Web.config”确实已经转换为“Web.Test.config”中的任何内容,我已经为“Web.Test.config”添加了一个简单的应用程序设置 .

<appSettings>
    <add key="configFile" value="IIS.config"/>
  </appSettings>

然后在页面加载时我尝试读取此设置并显示是否已找到它:

string setting = WebConfigurationManager.AppSettings["configFile"];

if (string.IsNullOrEmpty(setting))
{
     lbl1.Text = "Not found.";
}
else
{
     lbl1.Text = "Found!";
}

但是,当我选择“测试”构建配置并按F5进行调试时,我得到“未找到” . 信息 .

所以我的问题是为什么当我点击F5并且没有拿起那个自定义应用程序配置设置时,SlowCheetah不会动态地将我的Web.config转换为Web.Test.config?基本上我试图使用SlowCheetah调试自定义“测试”配置的代码,要求它从“Web.Test.config”而不是常规的“Web.config”中获取设置 . (我还验证了我的C#代码正在正确读取配置变量) .

我究竟做错了什么?或者我不明白什么?根据这个链接,SlowCheetah应该支持这个:https://marketplace.visualstudio.com/items?itemName=WillBuikMSFT.SlowCheetah-XMLTransforms

谢谢 .