System.IO.Packaging


115

मैं अपने प्रोजेक्ट को .NET फ्रेमवर्क 4.0 पर सेट करता हूं। जब मैं जोड़ता हूं System.IO.Packaging, तो यह कहता है कि यह मौजूद नहीं है। जब मैं इसे परियोजना के संदर्भ के रूप में जोड़ने की कोशिश करता हूं तो यह भी दिखाई नहीं देता है।

मैं System.IO.Packagingअपने C # प्रोजेक्ट में कैसे जोड़ सकता हूं ?

जवाबों:


171

इस MSDN पृष्ठ पर एक उपयोगकर्ता की टिप्पणी के अनुसार , आपको WindowsBase .Net पुस्तकालय के लिए एक संदर्भ जोड़ना होगा।


20
आपको उपयोगकर्ता की टिप्पणी की भी आवश्यकता नहीं है। यदि आप किसी वास्तविक तरीके / ऑब्जेक्ट / आदि के लिए डॉक्स देखते हैं। नामस्थान में, वे सभी कहते हैं "असेंबली: WindowBase.dll"
dlev

जब मैं उत्तर में लिंक पर गया, तो मैंने नहीं देखा कि मुझे WindowsBase.Net लाइब्रेरी को कैसे जोड़ना है। मैंने इसे जोड़ा है और अब मेरे पास system.io.packaging की पहुंच है। तो इसके लिए धन्यवाद, लेकिन क्या आप बता सकते हैं कि मैं WindowsBase.Net लाइब्रेरी के माध्यम से system.io.packaging का उपयोग करने के बारे में जानने के बारे में क्या नहीं देख रहा हूं?
एलन

पृष्ठ में उपयोगकर्ता टिप्पणियों का उपयोग किया गया था जिसमें विंडोजबेस का उल्लेख किया गया था। ऐसा लगता है कि Microsoft ने अपने डॉक्स से टिप्पणियां हटा दी हैं।
पेड्रो

81

.NET 4.0 के साथ Visual Studio 2010 में C # समाधान के लिए:

  1. अपनी परियोजना के समाधान एक्सप्लोरर में, संदर्भ पर राइट-क्लिक करें और संदर्भ मेनू से संदर्भ जोड़ें चुनें।
  2. बाईं ओर के फलक में असेंबलियों का चयन करें , फिर फलक के बॉटन के पास फ़ाइल नाम फ़ील्ड के आगे स्थित ब्राउज़ बटन पर क्लिक करें
  3. .NET 4.0 संदर्भ असेंबली के लिए ब्राउज़ करें और WindowsBase.dll का चयन करें । उदाहरण के लिए, मेरी मशीन पर (विंडोज 7, 64-बिट) पूरा रास्ता है:

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ फ्रेमवर्क \ .NETFramework \ v4.0 \ WindowsGasell

समाधान सहेजें (विशेष रूप से यदि आप MSBuild के साथ कमांड-लाइन से संकलन कर रहे हैं) और अब आपको सिस्टम .IO का उपयोग करने में सक्षम होना चाहिए । अपने .cs फ़ाइल के शीर्ष पर निर्देश को त्रुटि के बिना प्रदर्शित करना।


4
Dll को ब्राउज़ करने की आवश्यकता नहीं है, यह पहले से ही असेंबली> फ्रेमवर्क के तहत उपलब्ध है।
अल्ताफ पटेल

मेरे लिए @AltafPatel यह नहीं दिखा, मुझे इसे ब्राउज़ करना पड़ा। यह भी सुनिश्चित करें कि आपकी परियोजना संदर्भित फ़ाइल के मिलान .NET संस्करण (इस मामले में 4.0) के साथ संकलन करने के लिए सेट है।
डेविड रोजर्स

5

हम डॉट नेट फ्रेमवर्क 3.5 में भी WindowsBase.dll जोड़ सकते हैं। मैं WindowsBase.dll के लिए XP मशीन और पाथ का उपयोग कर रहा हूं

C: \ Program Files \ Reference Assemblies \ Microsoft \ फ्रेमवर्क \ .NETFramework \ v3.5 \ Profile \ Client \ Windows \asell

उपयोग करने के लिए उदाहरण System.IO.packagingयहाँ दिया गया है -

एक ज़िप फ़ाइल उत्पन्न करने के लिए System.IO.Packaging का उपयोग करना


4

System.IO.Packagingएक नामस्थान है, संदर्भ नहीं। नाम स्थान के भीतर वर्गों के अधिकांश (सभी?), जैसे कि ज़िपपैकेज , में तैनात हैं WindowsBase.dll

सुनिश्चित करें कि आपके पास एक संदर्भ है WindowsBase.dll- यदि आप करते हैं, तो आप बस जोड़ सकते हैं: System.IO.Packaging;अपनी .cs फ़ाइलों का उपयोग करना, और आप ठीक हो जाएंगे।

ध्यान दें कि आप MSDN पर किसी भी वर्ग के दस्तावेज़ में इसे देख सकते हैं । उदाहरण के लिए, ZipPackageइसमें, यह सूचीबद्ध है:

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

+1 - मैंने ध्यान नहीं दिया कि व्यक्तिगत पेज असेंबली का उपयोग करने के लिए नोट करते हैं। मैंने मुख्य नामस्थान पृष्ठ पर इसकी अपेक्षा की होगी, लेकिन चूंकि वे हमेशा मेल नहीं खाते हैं, इसलिए यह उन वर्गों को देखने के लिए समझ में आता है जिनकी आपको आवश्यकता हो सकती है।
पेड्रो

3

System.IO.Packagingनाम स्थान से प्रदान की जाती है WindowsBase। जब आप एक संदर्भ जोड़ते हैं, तो WindowsBaseखोजने की कोशिश करने के बजाय संदर्भ के रूप में जोड़ें System.IO.Packaging




0

मेरे मामले में मैं एक ऐक्स हैंडलर का उपयोग कर रहा था। यह काम करने के लिए आप परियोजना और हैंडलर के लिए विधानसभा को जोड़ने की जरूरत है:

<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>

इसने अंततः मेरे लिए काम किया, संदर्भ के रूप में विंडोजबेस को जोड़ने के लिए कई बार कोशिश की (वीएस को पुनः आरंभ किया, मशीन को भी पुनरारंभ किया) लेकिन फिर भी यह तब तक काम नहीं कर रहा था जब तक कि मैंने इसे अपने एस्पेक्स पेज में स्पष्ट रूप से नहीं जोड़ा। मैंने इस्तेमाल किया: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>जैसा कि dll मैंने संदर्भित किया था संस्करण 4.0 था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.