C# SevenZipSharp-将文件追加到zip并删除文件路径
我使用SevenZipSharp将文件压缩为zip文件。 我有两个问题:C# SevenZipSharp-将文件追加到zip并删除文件路径,c#,sevenzipsharp,C#,Sevenzipsharp,我使用SevenZipSharp将文件压缩为zip文件。 我有两个问题: 在同一目标文件上多次使用CompressFiles时,它不会追加文件,而是覆盖这些文件 我希望添加文件时不带整个路径,但似乎无法找到方法(我认为PreserveDirectoryRoot=false可以做到这一点,但事实并非如此) 有人有主意吗?您需要使用压缩模式。在第一次呼叫后追加。默认设置为压缩模式。创建。通过更改目录结构可以删除路径 相关的源代码是 公共密封部分类七缸压缩机 #如果不受管理 :SevenZipBase
有人有主意吗?您需要使用压缩模式。在第一次呼叫后追加。默认设置为压缩模式。创建。通过更改
目录结构
可以删除路径
相关的源代码是
公共密封部分类七缸压缩机
#如果不受管理
:SevenZipBase
#恩迪夫
{
///获取或设置压缩模式。
///
公共压缩模式压缩模式{get;set;}
///
///获取或设置一个值,该值指示是否保留
///目录结构。
///
公共bool目录结构{get;set;}
}
谢谢,目录结构正常,但压缩模式仍有问题。创建zip后,我将模式更改为“Append”(comp.CompressionMode=SevenZip.CompressionMode.Append;)。但是,在为第二个文件执行comp.CompressFiles时,它会引发一个异常:给定的键在字典中不存在。我似乎不明白为什么。
public sealed partial class SevenZipCompressor
#if UNMANAGED
: SevenZipBase
#endif
{
/// Gets or sets the compression mode.
/// </summary>
public CompressionMode CompressionMode { get; set; }
/// <summary>
/// Gets or sets the value indicating whether to preserve the
/// directory structure.
/// </summary>
public bool DirectoryStructure { get; set; }
}