1

在我的构建文件中,我使用的构建步骤之一如下:

  <target name="BuildMsDeployPackage" depends="StageForMsDeployPackaging">
    <exec program="${msdeploy.exe}"
          workingdir="${buildDirectory}"
          verbose="true"
          commandline="
           -verb:sync 
           -source:manifest=${currentWorkingDirectory}\${sourceManifest} 
           -dest:package=${publishDirectory}\${webapp.artifact.zip}"/>

在这里,我使用 MSDeploy 创建一个可以稍后部署的包。源是清单文件的形式。清单文件的内容如下:

<MSDeploy.iisApp> 
    <iisapp path="C:\test" />
    <setAcl path="C:\test\dirOne" setAclAccess="Write" setAclUser="xyz"/>
    <setAcl path="C:\test\dirTwo" setAclAccess="Write" setAclUser="abc"/>
</MSDeploy.iisApp>

显而易见,我用于 iisapp 和 setAcl 的路径是硬编码的。我希望能够根据我的构建文件所在的目录(当前工作目录)来指定这些。

是否可以通过 NAnt 做到这一点?

4

1 回答 1

2

据我了解您的问题,您想编辑清单文件。由于它是纯 XML,因此您可以使用 NAnt 的<xmlpoke>任务。通过 XPath 指定适当的路径属性并将其设置为您的构建路径。您可以使用 NAnt 函数检索构建文件的路径project::get-buildfile-path

于 2012-08-22T20:00:15.567 回答