使用C#SevenZipSharp-压缩错误

使用C#SevenZipSharp-压缩错误,c#,7zip,sevenzipsharp,C#,7zip,Sevenzipsharp,我目前正试图在我的项目中实现SevenZipSharp功能。我已经阅读了他们的文档并查看了notes的源代码,但是我很难理解compressfilesecreted方法。我在archiveName参数上得到一个错误,上面写着“访问被拒绝” 任何成功使用此功能的人,请您就如何完成此实现向我提供一些建议 下面是我正在使用的代码(看起来很简单): 任何洞察都将不胜感激!我知道以前一定有人做过这项工作:)更正了代码,问题得到了解决。更正代码如下: SevenZipCompressor compresso

我目前正试图在我的项目中实现
SevenZipSharp
功能。我已经阅读了他们的文档并查看了notes的源代码,但是我很难理解
compressfilesecreted
方法。我在archiveName参数上得到一个错误,上面写着“访问被拒绝”

任何成功使用此功能的人,请您就如何完成此实现向我提供一些建议

下面是我正在使用的代码(看起来很简单):


任何洞察都将不胜感激!我知道以前一定有人做过这项工作:)

更正了代码,问题得到了解决。更正代码如下:

SevenZipCompressor compressor = new SevenZipCompressor();
            compressor.CompressionMethod = CompressionMethod.Deflate;
            compressor.CompressionLevel = CompressionLevel.High;
            compressor.ZipEncryptionMethod = ZipEncryptionMethod.Aes256;
            compressor.ArchiveFormat = OutArchiveFormat.Zip;
            compressor.CompressionMode = CompressionMode.Create;
            compressor.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous;
            compressor.FastCompression = false;
            compressor.EncryptHeaders = true;
            compressor.ScanOnlyWritable = true;
            compressor.CompressFilesEncrypted(outputDir, password, filepath);

输出目录需要具有正确扩展名的文件名。原来是问题的一部分。

我不知道哪一行给了你一个例外?您确定您有权限从应用程序写入我的文档吗?CompressFilesEncrypted在outputDir上引发错误-拒绝访问。我在整个程序中写入我的文档,因此我确信我有访问权限。文件名如何?它有效吗?是的,一切都有效。我只是使用另一种方法“BeginCompressFilesEncrypted”来压缩文件。但现在每当我解压它时,它都会破坏文件。以前有人用过这个SevenZipSharp吗?
SevenZipCompressor compressor = new SevenZipCompressor();
            compressor.CompressionMethod = CompressionMethod.Deflate;
            compressor.CompressionLevel = CompressionLevel.High;
            compressor.ZipEncryptionMethod = ZipEncryptionMethod.Aes256;
            compressor.ArchiveFormat = OutArchiveFormat.Zip;
            compressor.CompressionMode = CompressionMode.Create;
            compressor.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous;
            compressor.FastCompression = false;
            compressor.EncryptHeaders = true;
            compressor.ScanOnlyWritable = true;
            compressor.CompressFilesEncrypted(outputDir, password, filepath);