Guardando in giro ho trovato questa funzione:
Per zippare un file in VB.NET senza memorizzare il percorso, puoi utilizzare la libreria System.IO.Compression e la classe ZipArchive. La chiave è creare un ZipArchive specificando un flusso di output e poi aggiungere i file senza specificare il percorso completo.
Ecco un esempio di come farlo:
Public Sub ZipFiles(ByVal filesToZip() As String, ByVal zipFilePath As String)
' Crea un nuovo archivio ZIP
Using archive As ZipArchive = ZipFile.Open(zipFilePath, ZipArchiveMode.Create)
For Each filePath In filesToZip
' Ottieni solo il nome del file, senza il percorso
Dim fileName As String = Path.GetFileName(filePath)
' Crea una voce nell'archivio
Dim entry As ZipArchiveEntry = archive.CreateEntry(fileName)
' Scrivi i dati del file nella voce dell'archivio
Using stream As Stream = entry.Open()
Using fileStream As FileStream = File.OpenRead(filePath)
fileStream.CopyTo(stream)
End Using
End Using
Next
End Using
End Sub
Copiando il codice in progetto viene sottolineato l'errore sulla seguente porzione di codice:
Using archive As ZipArchive = ZipFile.Open(zipFilePath, ZipArchiveMode.Create)
ERRORE: BC36010: L'operando 'Using' di tipo 'ZipArchive' deve implementare 'System.Idisposable'
Qualcuno sa aiutarmi?
Grazie in anticipo