服务地址
我在这里找到了这个问题的答案:
将 web.config 元素替换为 MSDeploy https://stackoverflow.com/questions/3257915/replace-web-config-elements-with-msdeploy-parameters
我在 XPath 表达式末尾缺少“text()”,正确的 XPath 是:
/configuration/applicationSettings/aim.Web.Properties.Settings/setting[@name='aim_Web_AddressService_Address']/value/text()
自定义错误模式
对于 customErrorsMode 问题,我在 XPath 表达式的开头缺少一个“/”。正确的表达是:
/configuration/system.web/customErrors/@mode
连接字符串
这对我来说真的很重要,这是我最后想出来的。经过一番挖掘后,我发现 MSDeploy 自动参数化某些元素,连接字符串就是其中之一,更多信息如下:
配置Web包部署参数 http://www.asp.net/web-forms/tutorials/deployment/web-deployment-in-the-enterprise/configuring-parameters-for-web-package-deployment
我对相关连接字符串的参数声明应该是:
<parameter name="DbConnectionString-Web.config Connection String" defaultValue="">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/connectionStrings/add[@name='DbConnectionString']" />
</parameter>
我的 setParameter 定义应该如下所示:
<setParameter name="DbConnectionString-Web.config Connection String" value="Data Source=dbserver;Initial Catalog=DB1;Trusted_Connection=no;User ID=user1;Password=pass*9;" />