使用C#将多文件添加到Zip时遇Archive相关CS0246错误求助
解决C#中Archive类找不到的CS0246错误
错误原因
你代码里的Archive和ArchiveSaveOptions不是.NET基础类库自带的类型,属于第三方库(比如Aspose.Zip这类组件),当前项目既没引用对应的程序集,也没添加正确的using指令,所以触发CS0246错误。
解决方案
方案一:使用.NET原生ZipArchive(无需第三方依赖,推荐)
.NET自带System.IO.Compression.ZipArchive可以实现多文件压缩,无需额外安装库。修改代码如下:
- 添加缺失的using指令:
using System.IO.Compression;
- 替换原有Archive相关逻辑,完整代码:
using System; using System.IO; using System.Text; using System.IO.Compression; namespace ConvertMultipleFilesIntoZip { internal class Program { static void Main(string[] args) { using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Create)) { // 创建ZipArchive,设置为创建模式 using (var archive = new ZipArchive(zipFile, ZipArchiveMode.Create)) { // 添加第一个文件 using (FileStream source1 = File.Open("alice29.txt", FileMode.Open, FileAccess.Read)) { var entry = archive.CreateEntry("alice29.txt"); using (var entryStream = entry.Open()) { source1.CopyTo(entryStream); } } // 添加第二个文件 using (FileStream source2 = File.Open("asyoulike.txt", FileMode.Open, FileAccess.Read)) { var entry = archive.CreateEntry("asyoulike.txt"); using (var entryStream = entry.Open()) { source2.CopyTo(entryStream); } } // 原生ZipArchive不直接支持添加注释,若需要注释可借助其他方式实现 } } } } }
方案二:使用第三方库(如Aspose.Zip)
若你坚持使用Archive类,需完成以下步骤:
- 打开NuGet包管理器,搜索并安装
Aspose.Zip - 添加using指令:
using Aspose.Zip;
- 原有代码逻辑可保留,但需确保文件路径正确,且库版本匹配
内容的提问来源于stack exchange,提问作者Sanjeev singh kushvaha
相关产品推荐
相关产品推荐

