दिलचस्प पोस्ट
Android 4.0 एमुलेटर पर Google Play जटिल सिद्धांतों को पास करें आप समय को संकलित करने और विज़ुअल सी ++ प्रोजेक्ट (देशी सी ++) के लिए समय जोड़ने से कैसे कम करते हैं? मैं MySQL में कॉलम कैसे लेट कर सकता हूँ? T-SQL कथन में उपसर्ग एन का क्या अर्थ है? एनईटी प्रतिबिंब कितना महंगा है? एक एक्सेल सेल में स्वरूपित पाठ के लिए टैग के साथ एचटीएमएल पाठ एक 64-बिट सिस्टम (जीएनयू टूलचैन) पर 32-बिट बायनेरिज़ को इकट्ठा करना जावास्क्रिप्ट में बेनामी फ़ंक्शंस पर ईवेंट लिस्टनर को हटा दें एएसपी.एक्स गतिशील रूप से ईवेंट हैंडलर के साथ बटन Android में ListView आइटम निकालें बैच: उत्पादन को पार्स करने के दौरान चर ओवरराइटिंग दुर्व्यवहार को कैसे ठीक करें LINQ के माध्यम से पेड़ को कैसे समतल करना है? एनोटेशन पिंस फिट करने के लिए MKMapView ज़ूम करना? गुणों की फ़ाइल का उपयोग करके जावा लॉगिंग कैसे सेट अप करें? (java.util.logging)

मुझे "सिस्टम.IO.Compression" नामस्थान में "ज़िपफ़ाइल" वर्ग नहीं मिला

मैं नाम स्थान "System.IO.Compression" में "Zipfile" वर्ग का उपयोग नहीं कर सकता, मेरा कोड है:

using System; using System.IO; using System.IO.Compression; namespace ConsoleApplication { class Program { static void Main(string[] args) { string startPath = @"c:\example\start"; string zipPath = @"c:\example\result.zip"; string extractPath = @"c:\example\extract"; ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest,true); ZipFile.ExtractToDirectory(zipPath, extractPath); } } } 

त्रुटि है:

वर्तमान संदर्भ में नाम 'ज़िपफ़ाइल' मौजूद नहीं है

मैं इसे कैसे हल कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "मुझे "सिस्टम.IO.Compression" नामस्थान में "ज़िपफ़ाइल" वर्ग नहीं मिला"

आपको विधानसभा, "System.IO.Compression.FileSystem.dll" के लिए एक डीएलएल संदर्भ जोड़ने की आवश्यकता है – और सुनिश्चित करें कि आप .NET 4.5 का प्रयोग कर रहे हैं (क्योंकि यह पहले के ढांचे में मौजूद नहीं है)।

जानकारी के लिए, आप एमएसडीएन से विधानसभा और .NET संस्करण (एस) पा सकते हैं

उन लोगों के लिए जो .NET में हरी प्रोग्रामर हैं, के लिए DLL संदर्भ को जोड़ने के लिए, जैसा कि मार्कग्रेवेल ने नोट किया था, आप इन चरणों का पालन करते हैं:

दृश्य सी # में एक संदर्भ जोड़ने के लिए

  1. समाधान एक्सप्लोरर में, प्रोजेक्ट नोड पर राइट-क्लिक करें और संदर्भ जोड़ें पर क्लिक करें।
  2. संदर्भ जोड़ें संवाद बॉक्स में, उस घटक के प्रकार को इंगित करते हुए टैब का चयन करें जिसे आप संदर्भ करना चाहते हैं।
  3. उन घटकों का चयन करें जिन्हें आप संदर्भ करना चाहते हैं, और फिर ठीक पर क्लिक करें।

MSDN आलेख से, कैसे जोड़ें: संदर्भ जोड़ें संवाद बॉक्स का उपयोग करके संदर्भ जोड़ें या निकालें ।

यदि आप 4.5 में अपग्रेड कर सकते हैं तो आप एक बाहरी पैकेज का उपयोग कर सकते हैं। ऐसा एक Ionic.Zip.dll DotNetZipLib से है I

 using Ionic.Zip; 

आप इसे यहां डाउनलोड कर सकते हैं, इसकी निःशुल्क। http://dotnetzip.codeplex.com/

बस संदर्भ पर जाएं और "System.IO.Compression.FileSystem" जोड़ें

मुझे पता है यह एक पुरानी धागा है, लेकिन मैं इस पर कुछ उपयोगी जानकारी पोस्ट करने से दूर नहीं चला सकता। मुझे देखते हैं कि ज़िप प्रश्न बहुत ऊपर आता है और इस जवाब के पास सबसे अधिक सामान्य प्रश्न हैं

4.5 + … का उपयोग करने के लिए ढांचे के चारों ओर घूमने के लिए, येैम-ओलिवेर: https://github.com/jaime-olivares/zipstorer द्वारा बनाए गए एक ज़िपस्टोरर वर्ग है, उन्होंने इस क्लास को कैसे उपयोग किया अच्छी तरह से और एक विशिष्ट फ़ाइल नाम के लिए भी कैसे खोजें

और इसका उपयोग करने के संदर्भ में और एक निश्चित फ़ाइल एक्सटेंशन के लिए उदाहरण के रूप में पुनरावृत्त के रूप में आप यह कर सकते हैं:

 #region /// <summary> /// Custom Method - Check if 'string' has '.png' or '.PNG' extension. /// </summary> static bool HasPNGExtension(string filename) { return Path.GetExtension(filename).Equals(".png", StringComparison.InvariantCultureIgnoreCase) || Path.GetExtension(filename).Equals(".PNG", StringComparison.InvariantCultureIgnoreCase); } #endregion private void button1_Click(object sender, EventArgs e) { //NOTE: I recommend you add path checking first here, added the below as example ONLY. string ZIPfileLocationHere = @"C:\Users\Name\Desktop\test.zip"; string EXTRACTIONLocationHere = @"C:\Users\Name\Desktop"; //Opens existing zip file. ZipStorer zip = ZipStorer.Open(ZIPfileLocationHere, FileAccess.Read); //Read all directory contents. List<ZipStorer.ZipFileEntry> dir = zip.ReadCentralDir(); foreach (ZipStorer.ZipFileEntry entry in dir) { try { //If the files in the zip are "*.png or *.PNG" extract them. string path = Path.Combine(EXTRACTIONLocationHere, (entry.FilenameInZip)); if (HasPNGExtension(path)) { //Extract the file. zip.ExtractFile(entry, path); } } catch (InvalidDataException) { MessageBox.Show("Error: The ZIP file is invalid or corrupted"); continue; } catch { MessageBox.Show("Error: An unknown error ocurred while processing the ZIP file."); continue; } } zip.Close(); } 

समाधान एक्सप्लोरर में, राइट-क्लिक करें संदर्भ, फिर असेंबलियों का विस्तार करने के लिए क्लिक करें, System.IO.Compression.FileSystem ढूंढें और सुनिश्चित करें कि यह चेक की गई है उसके बाद आप इसे अपने क्लास में इस्तेमाल कर सकते हैं – using System.IO.Compression;

संदर्भ सम्मेलन स्क्रीनशॉट जोड़ें

System.IO.Compression अब माइक्रोसॉफ्ट द्वारा बनाए गए नूगेट पैकेज के रूप में उपलब्ध है।

ZipFile उपयोग करने के लिए आपको System.IO.Compression.ZipFile . IO.Compression.ZipFile nuget पैकेज डाउनलोड करने की आवश्यकता है।