Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

4.5K
Views
No se puede utilizar el mismo volumen como origen y como destino

Estoy creando archivos divididos usando el siguiente código:

 string filename = "FileName.pdf"; using (ZipFile zip = new ZipFile()) { zip.UseZip64WhenSaving = Zip64Option.Default; zip.CompressionLevel = Ionic.Zlib.CompressionLevel.Default; using (FileStream stream = new FileStream(temp, FileMode.Open)) { zip.AddEntry(filename, stream); zip.MaxOutputSegmentSize = settings.AttachmentSize * (1024 * 1024); zip.Save(zipFileName); } }

El código anterior genera 3 archivos: file.zip, file.z01 and file.z02 . Cuando hago clic derecho en ese archivo zip y selecciono Extract All (sin usar WinRAR u otro software de compresión para extraer, solo el zip integrado de Windows) me da el siguiente error:

No se puede utilizar el mismo volumen como origen y como destino

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

Lo extraño es que solo sucede la primera vez que intento extraer los archivos, las extracciones posteriores están bien, por lo que debe ser cómo se comprimieron los archivos en primer lugar.

ACTUALIZAR 1

Lo mismo sucede incluso si extraigo a una carpeta diferente

Ha habido discusiones con respecto a este problema en el sitio de DotNetZip Codeplex, pero parece que el problema aún no se ha resuelto.

http://dotnetzip.codeplex.com/discusiones/239172

http://dotnetzip.codeplex.com/discusiones/371005

ACTUALIZAR 2

Mirando el documento de la propiedad MaxOutputSegmentSize , se cita:

No creo que Windows Explorer pueda extraer un archivo dividido.

Sin embargo, no hay más explicaciones de por qué. Considero que esto es un falso positivo ya que, como se mencionó anteriormente,

solo sucede la primera vez que intento extraer los archivos, las extracciones posteriores están bien

Estoy usando Windows 8.1 de 64 bits.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Lo primero que siempre querrá hacer al buscar la razón por la cual el software falla es ubicar la fuente del mensaje de error. Lo haces usando Google primero . El segundo éxito (ahora mismo) es bueno, alguien descompiló los ejecutables de Windows y localizó esta cadena específica como ID de recurso #10209 en un archivo llamado zipfldr.dll con una notificación de derechos de autor de Microsoft.

Esa es una combinación excelente, zipfldr.dll es la extensión de espacio de nombres de shell que Windows usa para mostrar el contenido de un archivo .zip como si fuera una carpeta. Puede verlo en Regedit.exe, vaya a HKEY_CLASSES_ROOT\CLSID\ {E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31} para el registro principal. La clave de registro HKEY_CLASSES_ROOT\SystemFileAssociations\ .zip\CLSID la asocia con un archivo .zip.

Así que tienes un hecho duro, realmente es la extensión Explorer la que se cae. Extremadamente poco se puede hacer al respecto, por supuesto. Solo queda la duda de que podría ser la biblioteca Zip que usa la que busca a tientas el contenido de los archivos distribuidos y, por lo tanto, hace que la extensión se caiga. Eso se reduce significativamente al ver que más de una biblioteca activa este error, las probabilidades de que tanto Ionic como Dotnetzip tengan exactamente el mismo error son bastante bajas. No cero, los programadores tienden a echar un vistazo al código de otros programadores para inspirarse. El hecho de que este error sea falso pone el clavo en el ataúd, es de esperar que el contenido incorrecto del archivo zip active un error repetidamente.

Es posible que pueda aplicar ingeniería inversa al problema subyacente, lo haría con el Monitor de procesos de SysInternals. Verá que Explorer lee y escribe archivos. Probablemente en el directorio TEMP, supongo que obtendría un error como este si ya existe un archivo .zip en ese directorio. TEMP es una carpeta muy desordenada en la mayoría de las máquinas, demasiados programas no se limpian correctamente después de sí mismos. Incluye bibliotecas zip, una teoría atractiva que no está respaldada por pruebas :)

Si eso no funciona, entonces el último recurso es Microsoft. Tienen un número de teléfono 1-800 donde puede obtener soporte para problemas con sus productos. Lo he usado varias veces, siempre resolvieron mi problema y me reembolsaron la tarifa inicial. Sin embargo, este es un problema de Windows, un producto que tiene mil millones de usuarios. En el mejor de los casos, obtendrá una solución alternativa, una solución de software real es extremadamente improbable. No del todo imposible, se ha hecho. Pero hay muchas probabilidades de que su solución alternativa recomendada sea "usar una utilidad de terceros como Winzip". No es lo que quieres oír.

over 4 years ago · Santiago Trujillo Report

0

Mueva el archivo zip a una carpeta diferente o intente usar 7zip para extraer los archivos.

over 4 years ago · Santiago Trujillo Report

0

  1. Descarga 7zip e instálalo.
  2. Mueva el archivo zip a otra ubicación.
  3. Luego, haga clic derecho en la carpeta -> seleccione 7zip -> Extraer aquí
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!