我们的 web.config 需要一个数据库密码。
我们如何在构建 msdeploy(又名 Web Deploy)包或实际部署时指定此密码?
我们使用 msbuild (/p:DeployOnBuild=true) 和 web.config 转换来构建 msdeploy 包以获取特定于环境的详细信息。
我们的 web.config 需要一个数据库密码。
我们如何在构建 msdeploy(又名 Web Deploy)包或实际部署时指定此密码?
我们使用 msbuild (/p:DeployOnBuild=true) 和 web.config 转换来构建 msdeploy 包以获取特定于环境的详细信息。
根据设计,Web.config 转换是构建时间转换。我倾向于只将它们用于“除调试之外的所有”更改。
你想要的是一个 MSDeploy 参数。假设您使用的是pubxml
发布配置文件,生成的包将自动具有一个名为“ Name -Web.config Connection String”的参数(其中“Name”与 web.config 中的 name 属性匹配),该参数将应用于连接字符串。
如果您部署包,您可以通过使用以下方式提供值来更改连接字符串-setParam
:
Website.deploy.cmd /Y ... ^
-setParam:name="Name-Web.config Connection String",value="connection_string"
如果您使用发布配置文件进行部署,您可以pubxml
通过更新值来设置文件中的MSDeployParameterValue
值(您应该在文件底部附近看到正确的值):
<MSDeployParameterValue Include="$(DeployParameterPrefix)DBName-Web.config Connection String">
<ParameterValue>connection_string</ParameterValue>
</MSDeployParameterValue>