C# 在c中解压缩文件时出现Shell32 dll问题#

C# 在c中解压缩文件时出现Shell32 dll问题#,c#,C#,我正在尝试使用c#中的shell 32 dll解压大型文件,这里我面临一个问题-我正在尝试解压180个文件。解压后,其大小为5GB,并显示以下错误 意外错误使您无法复制文件。如果您继续收到此错误,您可以使用错误代码搜索有关此问题的帮助。 错误0x80004005:未指定的错误 用于使用Shell32 dll解压文件的代码: DirectoryInfo di = new DirectoryInfo(ZipFolderSource); foreach (FileIn

我正在尝试使用
c#
中的
shell 32 dll
解压大型文件,这里我面临一个问题-我正在尝试解压180个文件。解压后,其大小为5GB,并显示以下错误

意外错误使您无法复制文件。如果您继续收到此错误,您可以使用错误代码搜索有关此问题的帮助。 错误0x80004005:未指定的错误

用于使用Shell32 dll解压文件的代码

DirectoryInfo di = new DirectoryInfo(ZipFolderSource);

                foreach (FileInfo fi in di.GetFiles())
                {

                    Shell32.Shell objShell = new Shell32.Shell();
                    Shell32.Folder destinationFolder = objShell.NameSpace(ExtractedFilesPath);
                    Shell32.Folder sourceFile = objShell.NameSpace(fi.FullName);

                    foreach (var file in sourceFile.Items())
                    {
                        destinationFolder.CopyHere(file, 20);
                    }
                }

我可以使用上述代码将小文件解压到2GB以下,但如果文件大小超过3MB,则收到错误。

您搜索过此错误号吗?我在谷歌搜索结果中看到了很多非编程解决方案……我们需要的不仅仅是错误代码,正如Meehow所说,有不同的解决方案,但大多数都涉及错误的Windows配置。这些代码是在Windows XP还是Windows Server 2003上运行的?如果是这样的话,那么您可能失败了,因为XP/Server 2003不支持ZIP64。我使用的是Windows 7 Enterprise 64位操作系统当您使用“20”时,您简直是瞎了眼。使用0,您将看到更多。使用一个合适的库而不是shell扩展,比如.NET的ZipFile.ExtractToDirectory()。