C# 使用ZipFile类时出现拒绝访问错误

C# 使用ZipFile类时出现拒绝访问错误,c#,compression,C#,Compression,背景 我现在有一个usb设备,上面有我正在处理的所有项目,它放在我办公室的扩展坞里。昨晚我很无聊,想继续做一个项目,但是没有文件?这让我考虑编写一个控制台应用程序,将所有文件从我的usb驱动器复制到我桌面上的一个文件夹中,并在某个小时作为预定任务运行 问题 我正在尝试使用System.IO.Compression.FileSystem压缩文件系统,以便将文件压缩,然后将其移动到电脑上的新目录。文档中给出了一个示例。这看起来很坦率。然而,当我试图将它复制到一个新的目的地时,我得到了以下错误 错误

背景

我现在有一个usb设备,上面有我正在处理的所有项目,它放在我办公室的扩展坞里。昨晚我很无聊,想继续做一个项目,但是没有文件?这让我考虑编写一个控制台应用程序,将所有文件从我的usb驱动器复制到我桌面上的一个文件夹中,并在某个小时作为预定任务运行

问题

我正在尝试使用System.IO.Compression.FileSystem压缩文件系统,以便将文件压缩,然后将其移动到电脑上的新目录。文档中给出了一个示例。这看起来很坦率。然而,当我试图将它复制到一个新的目的地时,我得到了以下错误

错误

信息

堆栈跟踪

代码

 string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 string[] folders = System.IO.Directory.GetDirectories(@"D:\", "*", System.IO.SearchOption.TopDirectoryOnly);
 foreach (string folder in folders)
 {
     ZipFile.CreateFromDirectory(folder, path); << errors out here!
 }
string path=Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string[]folders=System.IO.Directory.GetDirectories(@“D:\”、“*”、System.IO.SearchOption.TopDirectoryOnly);
foreach(文件夹中的字符串文件夹)
{

ZipFile.CreateFromDirectory(文件夹,路径);第二个参数
字符串destinationArchiveFileName
应该是文件名。
例如
“C:\Users\er4505\Desktop\Example.zip”
第二个参数
字符串destinationArchiveFileName
应该是一个文件名。
例如
“C:\Users\er4505\Desktop\Example.zip”

您桌面上特定文件夹的权限设置是什么..这个错误对我来说很简单..还有代码中使用的
TempDir
是什么..看起来与您发布的当前代码不相关..也使用调试器..并逐步完成代码,首先从基础开始..如果是这样的话无法工作,请在本地
“c:\”上创建一个文件夹
drive并尝试通过代码将其复制到那里。@MethodMan Correct Temp Dir与此代码示例不相关,将更新代码块。为桌面上的特定文件夹设置的权限是什么。我觉得这个错误非常简单。。另外,
Temp Dir
在代码中用于什么?看起来与代码无关您发布的当前代码..同时使用调试器..并逐步完成代码。首先从基础开始..如果不起作用,请在本地
“c:\”上创建一个文件夹
drive并尝试通过代码将其复制到那里。@MethodMan Correct Temp Dir与此代码示例无关,将更新代码块。我尝试过,但得到异常
C:\Users\blah\example.zip不存在
-即使它应该在目录中创建
example.zip
。我尝试过,但得到了异常在
C:\Users\blah\example.zip上不存在
——即使它应该在目录中创建
example.zip
。。
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding)
   at System.IO.Compression.ZipFile.DoCreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName, Nullable`1 compressionLevel, Boolean includeBaseDirectory, Encoding entryNameEncoding)
   at System.IO.Compression.ZipFile.CreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName)
   at ConsoleApp1.Program.Main(String[] args) in C:\FTG\Projects\CaseWare\ConsoleApp1\Program.cs:line 25
 string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 string[] folders = System.IO.Directory.GetDirectories(@"D:\", "*", System.IO.SearchOption.TopDirectoryOnly);
 foreach (string folder in folders)
 {
     ZipFile.CreateFromDirectory(folder, path); << errors out here!
 }