我正在尝试在VS 2022中使用WebForms应用程序进行Web.config转换。目标是在构建时启用转换。
我遵循了以下指南(以及其他指南):https://gist.github.com/EdCharbeneau/9135216
我的.csproj看起来像这样:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="AfterBuild">
<TransformXml Source="Web.Base.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>
这是因为没有显示错误(例如说它找不到路径)。$(VisualStudioVersion)因此正确地解析为“17.0”。
解决方案资源管理器中存在以下文件:
Web.config(几乎)为空,而Web.Base.config包含实际的配置。
问题:当我构建项目时,Web.config没有被覆盖,应用程序最终没有配置。我已经阅读了关于这个主题的多个指南和问题,但是我没有发现我的设置有任何问题。
有人知道为什么从Web.base.config到Web.config的转换不起作用吗?
1条答案
按热度按时间8cdiaqws1#
我在几个项目中使用了以下代码,它似乎在Visual Studio 2022中仍然有效。我有一个Web.Base.config(和配置),我在其中设置了默认值。然后,我为每个环境添加了一个配置和一个Web.{ConfigurationName}.config。在生成和发布期间,它会用配置中选择的内容覆盖Web.config文件。
我有几个进口的,但不确定哪一个是那个用的。