MSBuild正在从Parameters.xml中删除条目

MSBuild正在从Parameters.xml中删除条目,msbuild,msdeploy,Msbuild,Msdeploy,我一直在尝试让msbuild生成正确的web部署包,以便插入应用程序池标识的值 在我的项目中,我有parametes.xml,其中包含以下用户和密码条目: <parameter name="username" description="AppPool identity username" defaultValue="domain\username"> <parameterValidation type="RegularExpression" validationSt

我一直在尝试让msbuild生成正确的web部署包,以便插入应用程序池标识的值

在我的项目中,我有parametes.xml,其中包含以下用户和密码条目:

  <parameter name="username" description="AppPool identity username" defaultValue="domain\username">
    <parameterValidation type="RegularExpression" validationString="(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$" />
    <parameterEntry type="DeploymentObjectAttribute" scope="processModel" match="/processModel/@userName" />
  </parameter>
  <parameter name="password" description="AppPool identity password" tags="password" defaultValue="DefaultPassword">
    <parameterEntry type="DeploymentObjectAttribute" scope="processModel" match="/processModel/@password" />
  </parameter>
包生成正确,但问题在于放在压缩文件夹中的新parameters.xml。用户名/密码条目已更改为:

  <parameter name="Username" description="Identity Username" defaultValue="domain\username" />
  <parameter name="Password" description="Identity Username Password" defaultValue="DefaultPassword" tags="password" />

如您所见,parameterEntry和Validation已被删除。如果我尝试使用msdeploy部署应用程序并在SetParameters中设置用户名和密码,它不会为ApplicationPool插入新值

如果我手动将删除的行添加回包中,部署将正常工作,应用程序池将获得SetParameters文件中设置的标识

这是故意的吗?有没有办法强迫msdeploy在构建包时不删除这些行

在过去的几天里,我一直在努力实现这一目标,但我遇到的任何例子都没有解决这一问题


希望有人能有所见识

终于找到了问题

这就是参数的定义方式。如果您查看Parameters.xml,我将使用以下方法定义所有内容:

<parameterEntry type=

<parameterEntry type=