Msdeploy 所有服务器的Web部署参数均未更改

Msdeploy 所有服务器的Web部署参数均未更改,msdeploy,webdeploy,Msdeploy,Webdeploy,我们使用Jenkins、MSBuild和Web Deploy创建了一个连续交付流程。当部署到我们的开发服务器时,一切都很顺利,但是,当我尝试在两个新配置的服务器上使用*.deploy.cmd文件部署web部署包时,parameters.xml文件中定义的web.config更改不会被应用。部署的其余部分工作得很好,但对于需要更改的每个参数,我都会看到这样的消息: Verbose: Parameter entry 'config/1' could not be applied to '<pa

我们使用Jenkins、MSBuild和Web Deploy创建了一个连续交付流程。当部署到我们的开发服务器时,一切都很顺利,但是,当我尝试在两个新配置的服务器上使用*.deploy.cmd文件部署web部署包时,parameters.xml文件中定义的web.config更改不会被应用。部署的其余部分工作得很好,但对于需要更改的每个参数,我都会看到这样的消息:

Verbose: Parameter entry 'config/1' could not be applied to '<path>\Package\PackageTmp\Web.config'. Deployment will continue with the original data. Details: 
Cannot set a value on node type 'Element'.
Verbose:参数项“config/1”无法应用于“\Package\PackageTmp\Web.config”。部署将继续使用原始数据。细节:
无法在节点类型“Element”上设置值。
由于同一软件包的转换只适用于部署到一台服务器,而不适用于新服务器,因此这似乎是一个服务器配置问题,但我已经根据Microsoft的Web Deploy安装说明检查了所有内容,看起来一切正常。我不是最初在工作文件夹上设置WebDeploy的人,所以我不知道他们可能会有什么不同。我怀疑这与权限有关,但我认为要检查的几个地方在两台服务器上是相同的

我发现这个错误消息还有其他问题,其中parameters.xml文件中的XPath有问题。我不认为这是我的问题,因为我可以成功地部署到我的一台服务器上,但下面是我的parameters.xml和SetParams.xml文件中的一个示例:

parameters.xml

<parameter name="config">
  <parameterEntry kind="XmlFile" scope="\\web.config$" match="//configuration/appSettings/add[@key='config']" />
</parameter>
<parameters>
  <setParameter name="config" value="&lt;add key=&quot;config&quot; value=&quot;testing&quot; /&gt;" />
</parameters>

*.SetParameters.xml

<parameter name="config">
  <parameterEntry kind="XmlFile" scope="\\web.config$" match="//configuration/appSettings/add[@key='config']" />
</parameter>
<parameters>
  <setParameter name="config" value="&lt;add key=&quot;config&quot; value=&quot;testing&quot; /&gt;" />
</parameters>


是否有人知道如何修复此问题,或者我在新服务器上需要什么样的附加权限?

回想起来,这一点非常明显,但事实证明,我们的问题是服务器支持团队安装了错误版本的Web Deploy。我们需要3.5或更高版本,他们安装了2.10。在新服务器上更新Web部署解决了此问题