我正在使用MSBUILD ExtensionPack。我想将构建目录的整个内容复制到文件系统上的另一个目录。我不想重命名目标目录,只需替换内容即可。这可能是我对MSBUILD ExtensionPack的不熟悉,但似乎这应该很容易,而且我无法在网络上找到容易获得的文档。

我正在尝试建立成功构建后自动部署在连续集成环境中的服务。

有帮助吗?

解决方案

据我所知,您需要清除和复制单独的步骤。因此,首先删除/清除,然后复制。我(在上次做的时候)无法找到“覆盖”的方法。实际上,这对我们来说更好的是B/C一个构建可能会删除上一个文件所包含的文件,因此我们不希望它们“持续”。

要删除,请尝试(假设DeploymentDesintationPath是具有路径的属性):

<MSBuild.ExtensionPack.FileSystem.Folder
     TaskAction="RemoveContent" 
     path="$(DeploymentDestinationPath)" />

然后复制(请注意,您需要填充源和目的地的项目组)

<ItemGroup>    
      <DeploymentSourceFiles
           Include="$(BuildFolder)\**\*"
      />  
      <DeploymentDestinationFiles
           Include="@(DeploymentSourceFiles->
           '$(DeploymentDestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')"
      />  
</ItemGroup>

<Copy SourceFiles="@(DeploymentSourceFiles)"
     DestinationFiles="@(DeploymentDestinationFiles)" />

几个月来我都没有做到这一点,所以请赦免这些示例中的任何一个都需要进行一些调整。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top