c# - 调试代码时不转换 Web.config

标签 c# visual-studio visual-studio-2015 app-config slowcheetah

我有一个主要的 Web.config 文件,下面有一个 Web.Test.configWeb.Development.Config

当我在测试配置上通过 SlowCheetah 预览转换时,它似乎正确地转换了值。

当我将我的构建环境从开发切换到测试并尝试调试应用程序时,应用程序在主 Web.config 文件中的任何值下运行(即它没有转换任何东西)。

如何让构建环境在调试时选择正确的配置而不是总是使用基础 Web.config 文件?这可能吗?

最佳答案

您可以在构建时转换 Web.config。将此目标添加到 *.csproj 文件:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
    <TransformXml 
        Source="Web.Base.config" 
        Transform="Web.$(Configuration).config" 
        Destination="Web.config" />
</Target>

Web.Base.config 中保留原始配置。它足以启用转换并且适用于任何 XML 配置文件。根本不再需要 SlowCheetah。

http://sebnilsson.com/a5410281/asp-net-transform-web-config-with-debug-release-on-build/

关于c# - 调试代码时不转换 Web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35559289/

相关文章:

c# - Automapper Intellisense 在 VS2015 中不起作用

c++ - TRK0005错误定位rc.exe构建VC++ 2015项目

c# - C#-获取以编程方式在Windows启动时运行的应用程序列表

c# - JQuery 模态对话框使用追加显示在叠加层后面

c# - 切换到 WPF 中的调度程序线程

c++ - CMake VS 不同配置的不同二进制文件

visual-studio - 尝试将 Visual Studio 2019 构建工具安装到 Docker 镜像中

c# - 如何向 C# 库添加服务引用?

c++ - Visual Studio 2015 : how to build ATL projects targeting Visual C++ v120

c++ - Visual Studio 2015/Linux 扩展使用 Cygwin 生成 "collect2 : error : ld returned 1 exit status"