1

我们的 web.config 需要一个数据库密码。

我们如何在构建 msdeploy(又名 Web Deploy)包或实际部署时指定此密码?

我们使用 msbuild (/p:DeployOnBuild=true) 和 web.config 转换来构建 msdeploy 包以获取特定于环境的详细信息。

4

1 回答 1

4

根据设计,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>
于 2014-04-27T03:00:39.403 回答