.NET 4.0 में Microsoft.csharp.dll क्या है


164

यह DLL Visual Studio 2010 प्रोजेक्ट्स में डिफ़ॉल्ट रूप से जोड़ा जाता है। इस नई विधानसभा का उपयोग किस लिए किया जाता है? रिफ्लेक्टर का उपयोग करने के बाद इसे देखने के लिए बहुत कुछ नहीं लगता है और Google को इसके बारे में कहने के लिए बहुत कुछ नहीं लगता है।


जवाबों:


193

इसका उपयोग तब किया जाता है जब आप अपने प्रोजेक्ट में dynamicकीवर्ड का उपयोग करते हैं । विधानसभा में C # रनटाइम बाइंडर शामिल है।

C # संकलक को अनिवार्य रूप से एक पुस्तकालय में निकाला जाता है ताकि वह dynamicकीवर्ड का समर्थन करने के लिए आवश्यक कोड का उत्सर्जन, संकलन और चला सके । पहली बार जब आप dynamicअपने कोड में उपयोग करते हैं, तो यह असेंबली (साथ ही System.dll, System.Core.dll और System.Dynamic.dll) आपके AppDomain में लोड हो जाएगी।


3
क्या आप अनुमान लगाने की परवाह करेंगे कि उन्होंने इसे डिफ़ॉल्ट रूप से क्यों चुना? क्या हम सभी dynamicवर्तमान में जितने हैं (अर्थात कभी नहीं) से अधिक का उपयोग करना चाहिए ?
मो।

4
@ बार यह उसी तरह है जैसे वे स्वचालित रूप using System.Linq;से सभी फ़ाइलों को जोड़ते हैं । यह सिर्फ नई भाषा सुविधाओं को थोड़ा अधिक सहज बनाता है। यदि आप उपयोग करना चाहते हैं dynamic, तो यह आपकी ओर से बिना किसी प्रयास के काम करता है।
मैट ग्रीर

16

हमेशा इसे अब तक हटा दिया। अभी तक कोई समस्या नहीं है।


13
यदि आपका प्रोजेक्ट डायनेमिक कीवर्ड का उपयोग नहीं करता है, तो मुझे लगता है कि <Reference Include="Microsoft.CSharp" /> .csproj फ़ाइल में बताई गई लाइन को हटाना ठीक है ।
चेसो

धन्यवाद TomTom और @ शीशे। मैं एकता के साथ उपयोग करने के लिए एक .dll (3.5 फ्रेमवर्क सेट) का निर्माण करने की कोशिश कर रहा था, और इसे .csproj फ़ाइल से हटाकर चाल चली गई।
वुल्फराम

4
यह "उत्तर" प्रश्न के नीचे टिप्पणी के रूप में अधिक उपयुक्त है। जब भी यह वर्कअराउंड का सुझाव देता है, यह वास्तव में इस प्रश्न का उत्तर नहीं देता है कि नई विधानसभा क्या है।
टॉनिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.