我有一个面向 .NET 4.8 的 ASP.NET MVC 项目。该项目有 2 个调试配置,即调试和测试调试。我已经为测试调试创建了调试转换 (
web.test-Debug.config
),我还可以看到测试调试配置的预览,并且我的所有转换都按预期工作。
当我在 Visual Studio 中选择 test-debug 作为活动调试配置并尝试调试该项目时,Visual Studio 从
web.config
文件读取配置,并且该文件具有调试配置。
如何强制 Visual Studio 读取测试调试活动构建配置的配置?我在 Visual Studio 2019 和 2022 中尝试过此操作,但没有成功。非常感谢任何帮助。
以下是我的配置在 Visual Studio 中的外观
Web.config
Web.test-debug.config
Visual Studio 仅在 Web 项目的发布操作期间执行转换,而不是在构建期间执行转换。
这是有道理的,因为如果 Visual Studio 根据选定的构建配置转换 web.config 文件,开发人员可能会无意中最终将转换后的 web.config 作为基本配置签入。
这篇文章介绍了可用的最佳修复方法。以下是文章的详细信息。
卸载项目
编辑.csproj
将以下内容添加到
之前的文件末尾保存.csproj并重新加载
打开配置管理器
添加新的配置名称:Base。复制设置:Release
复制 web.config 的内容
右键单击 Web.Config > 添加配置转换
用剪贴板的内容覆盖 web.base.config
从现在开始,Web.Config 将被使用转换覆盖。
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
<TransformXml Source="Web.Base.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>