gpt4 book ai didi

msbuild - SlowCheetah 未在构建时转换 web.config

转载 作者:行者123 更新时间:2023-12-02 09:58:37 27 4
gpt4 key购买 nike

我通过 nuget 安装了 SlowCheetah 包,并根据构建配置为我的 web.config 添加了转换文件。然而,在构建时,web.config 不会被转换。我检查了项目文件,确实看到了 SlowCheetah PropertyGroup 和 Import 元素的条目。我在项目文件中没有看到转换目标。如果我添加 app.config,app.config 文件就会被转换。据我了解,安装 SlowCheetah 包应该自动将 web.config 转换目标添加到项目的 MSBuild 文件中。我可以手动添加它,但我认为 SlowCheetah 是开箱即用的。我是不是错过了什么。请告诉我。我的要求是我的 web.config 文件应该根据构建配置进行转换,并且转换后的 web.config 文件应该位于输出目录中。感谢并感谢所有帮助。

最佳答案

仅当您使用发布功能部署项目时,Visual Studio 才会执行转换。要在构建时执行此操作,您需要调整 MSBuild 脚本。完整的解决方案是 here 。这里是要点:

Files in project Create a file named Web.Base.config, besides the existing Web.Debug.config and Web.Release.config. This file will be the equivalent to your old Web.config, as it will be the base for the tranformation. You will end up with these files:

Web.config, Web.Base.config, Web.Debug.config, Web.Release.config, and Web.config. Add the following configuration to the bottom of your .csproj-file, just before the closing -tag:

<Target Name="BeforeBuild">
<TransformXml Source="Web.Base.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>

UPDATE: From a reminder in the comments I realized that I also have a problem with Visual Studio transforming the XML twice, when Publishing a project. The solution to this is to add a Condition to the Target-tag like this:

<Target Name="BeforeBuild" Condition="'$(PublishProfileName)' == '' And '$(WebPublishProfileFile)' == ''">

关于msbuild - SlowCheetah 未在构建时转换 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18542140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com