2015-04-21 25 views
8

Ho un progetto SSIS con me, posso eseguire così com'è. Ma, quando si tenta di modificarlo mostra un erroreIl nome 'zipfile' non esiste nel contesto corrente

Il nome 'file zip' non esiste nel contesto corrente

con Edit Out funziona benissimo codice

Errore:

public void Main() 
     { 
      // TODO: Add your code here 
      string moduleName = Dts.Variables["User::ModuleName"].Value.ToString(); 
      string s = Dts.Variables["User::ZipFileLocation"].Value.ToString().TrimEnd('\\') + "\\" + moduleName + "\\" + moduleName + "_" + DateTime.Now.ToString("ddMMyyyy"); 


      // TODO: Add your code here 
      string startPath = s; 
      string zipPath = s + ".zip"; 


      try 
      { 
       File.Delete(zipPath); 

       ZipFile.CreateFromDirectory(startPath, zipPath); 
      } 
      catch (Exception e) 
      { 
      } 
      Dts.TaskResult = (int)ScriptResults.Success; 
     } 

Come posso risolverlo?

+2

Dove si trova il codice –

+2

È probabilmente solo fatto riferimento System.IO.Compression, stranamente è necessario fare riferimento anche System.IO.Compression.FileSystem? –

risposta

13

Assicurarsi che si stia utilizzando la versione .Net 4.5. Fare riferimento alla DLL di compressione, Ecco il percorso: C: \ Programmi (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.IO.Compression.FileSystem.dll riferimento nella classe "utilizzando il sistema .IO.Compression.FileSystem " Se la classe è ereditata da un'altra classe, assicurati di fare riferimento anche alla classe genitore. (Questo è quello che devo fare per farlo compilare)

1

Per utilizzare la classe ZipFile, è necessario aggiungere un riferimento all'assembly System.IO.Compression.FileSystem nel progetto; in caso contrario, visualizzerai il seguente messaggio di errore durante il tentativo di compilazione:

Il nome "ZipFile" non esiste nel contesto corrente.

Per ulteriori informazioni su come aggiungere un riferimento al progetto in Visual Studio, vedere How-To:

aggiungere o rimuovere i riferimenti utilizzando il Reference Manager.

0

Solo per Aggiornamento: -

Con Net 4.6.1 versione

Aggiunta di riferimento System.IO.Compression.FileSystem e using System.IO.Compression è sufficiente.

using System.IO.Compression.FileSystem sta dando errore di sotto.

Reference error

0

ho scoperto che la classe ZipFile non collaborare solo con System.IO.Compression, ha chiesto di vedere un riferimento-System.IO.Compression.FileSystem.

Se si utilizza Visual Basic, aggiungere un riferimento è abbastanza semplice. In Solution Explorer, una delle schede del progetto è denominata Riferimenti. Fare clic destro e selezionare Aggiungi riferimento. Scorrere un po 'verso il basso e selezionare la casella accanto a System.IO.Compression.FileSystem. Dopo aver fatto clic su OK, non dovresti nemmeno aver bisogno di fare riferimento esplicitamente a System.IO.Compression.FileSystem nel tuo codice!

Buona fortuna (:

Problemi correlati