0

我正在考虑MSBuild.Extensionpack.Compression.Zip添加一个自定义构建步骤,我想将一些文件添加到现有的 .zip 存档中。

<ItemGroup>
  <Files Include="$(MSBuildProjectDirectory)\SomeFolder\AnotherFolder\*.xml">
  </Files>
</ItemGroup>

<Message Text="@(Files)"></Message>

<MSBuild.ExtensionPack.Compression.Zip TaskAction="AddFiles" 
                        CompressFiles="@(Files)" ZipFileName="$(MyZipArchive)"/>

运行此程序时,文件确实添加到 zip 存档中,但未添加到根目录中。相反,它会创建一个与我的项目路径相对应的文件层次结构

Projects/MyProject/SomeFolder/AnotherFolder/myfile.xml

关于如何获取myfile.xml.zip 存档的根目录的任何想法?

4

1 回答 1

5

对不起,我有点仓促了。刚刚在这个问题的答案中找到了解决方案。

AddFiles 操作有一个可选属性RemoveRoot。在这里,您必须指定要删除的根的字符串。

最终解决方案如下所示。

<ItemGroup>
  <Files Include="$(MSBuildProjectDirectory)\SomeFolder\AnotherFolder\*.xml">
  </Files>
</ItemGroup>

<MSBuild.ExtensionPack.Compression.Zip TaskAction="AddFiles" 
                        CompressFiles="@(Files)" ZipFileName="$(MyZipArchive)"
                        RemoveRoot=$(MSBuildProjectDirectory)\SomeFolder\AnotherFolder />
于 2013-06-20T13:52:19.193 回答