【问题标题】:Adding files to a zip using MSBuild ExtensionPack Zip creates entire file structure使用 MSBuild ExtensionPack Zip 将文件添加到 zip 会创建整个文件结构
【发布时间】:2013-06-20 13:12:22
【问题描述】:

我正在查看 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 有任何想法吗?

【问题讨论】:

    标签: msbuild msbuildextensionpack


    【解决方案1】:

    对不起,我有点草率了。刚刚在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 />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多