1

我必须使用 MSbuild 压缩我的文件夹和子文件夹,我正在查看 MSBuild 扩展包,并尝试了这个

 <ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
 </ItemGroup>



 <MSBuild.ExtensionPack.Compression.Zip TaskAction="Create" CompressFiles="@(ZipFiles)" ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"/>

当我这样做时,它只是继续将所有文件添加到根目录,而不是将其添加到 zip 文件中的特定子文件夹中。

我错过了一些东西,任何人都可以在这里帮忙。

4

3 回答 3

11

您需要提供一个RemoveRoot属性,该属性设置要从压缩文件路径中删除的根目录。(更多信息

<ItemGroup>
  <ZipFiles Include="\Test\Web\**\*.*" >
    <Group>Release</Group>
  </ZipFiles>
</ItemGroup>

<MSBuild.ExtensionPack.Compression.Zip 
                        TaskAction="Create" 
                        CompressFiles="@(ZipFiles)" 
                        ZipFileName="$(WorkingDir)%(ZipFiles.Group).zip"
                        RemoveRoot="\Test\Web"/>
于 2010-06-15T06:23:50.117 回答
1

我相信您需要为 RemoveRoot 属性设置一个值。

于 2010-06-14T18:31:45.583 回答
0

由于没有人提前回答,我继续使用 7 Zip,命令行实用程序来做到这一点。

于 2010-06-16T14:33:34.020 回答