我正在查看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
有关如何在.zip存档的根目录中获取myfile.xml
的任何想法?
答案 0 :(得分:5)
抱歉,我匆匆忙忙。刚刚在the answer of this question找到了解决方案。
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 />