gpt4 book ai didi

asp.net - web.config 在部署时转换而不是构建

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

我想知道如何执行以下操作

  • 构建 ASP.NET 网站并将其打包到文件系统
  • 能够将网站部署到一个或多个环境。我希望配置文件的转换发生在部署时,而不是构建时。这样,我的代码就不会为每次部署重新编译,并且不存在引入新更改的风险。

根据我自己的阅读,我不确定如何做到这一点。 WebDeploy 似乎基于配置来打包、转换和部署,但我不确定如何解耦这些步骤以避免需要从源代码管理重新编译代码。

有人有解决这个问题的经验吗?

最佳答案

您可以使用 Web 部署(又名 MSDeploy)的参数化功能。您将需要使用parameters.xml 文件和setParameters.xml 文件来动态交换设置,因为您不会在构建时转换包。

在部署时,您可以传入任何.xml 文件来设置您在parameters.xml 文件中指定的参数。由于parameters.xml位于项目解决方案的根目录(例如,请参阅放置文件的示例链接),因此在构建时它会被烘焙到您的Web包中。不过,您现在可以通过在部署期间从命令行传入 setParms .xml 文件来灵活地更改这些值。这与在构建时根据配置设置转换值不同。

以下是为暂存环境传入 ParamFile 的 msdeploy 命令行示例。

msdeploy -verb:sync -source:package="c:\packages\mypackage.zip" -dest:auto,computername=StagingServer1 -setParamFile="c:\StagingParameters.xml"

请参阅以下链接以获取示例和 MSDN 技术信息:

Web Deploy Parameterization in Action

Parameterization vs. Web.Config Transformation

Web Deploy Operation Settings

Similar question on stackoverflow that provides several methods

关于asp.net - web.config 在部署时转换而不是构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16353556/

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