2015-01-09 12 views
8

के साथ गतिशील प्रकार का उपयोग नहीं कर सकता है मुझे एक एएसपी.NETt vNext ऐप के अंदर एक JSON फ़ाइल को पढ़ने और सहेजने की आवश्यकता है, और मैं JSON.net का उपयोग करके लोड किए गए मान को संग्रहीत करने के लिए dynamic चर का उपयोग करना चाहता हूं, लेकिनएएसपीनेट vnext कोर

ASP.NET कोर 5.0 त्रुटि CS1980: कक्षा या सदस्य है कि 'dynamic' का इस्तेमाल करता है क्योंकि संकलक आवश्यक प्रकार 'System.Runtime.CompilerServices.DynamicAttribute' नहीं पाया जा सकता है परिभाषित नहीं किया जा सकता है कि मैं इस त्रुटि संदेश प्राप्त हुआ है जब मैं संकलित करने के लिए जाना। क्या आप एक संदर्भ खो रहे हैं?

इसे कैसे हल किया जा सकता है? अगर मैं dynamic का उपयोग करता हूं, तो क्या मैं ASP.NET कोर का उपयोग कर एक एप्लिकेशन चला सकता हूं?

उत्तर

5

आपको Microsoft.CSharp और System.Dynamic.Runtime को aspnetcore50 ढांचे के लिए संकुल शामिल करने की आवश्यकता है।

यह CoreCLR संस्करण 1.0.0-beta1 साथ मेरे लिए काम करने लगता है:,

using Newtonsoft.Json.Linq; 
using System; 

namespace DynamicTest 
{ 
    public class Program 
    { 
     public void Main(string[] args) 
     { 

      dynamic dobject = JObject.Parse("{number:1000, str:'string', array: [1,2,3,4,5,6]}"); 

      Console.WriteLine(dobject.number); 
      Console.WriteLine(dobject.str); 
      Console.WriteLine(dobject.array.Count); 
      Console.ReadLine(); 
     } 
    } 
} 

project.json

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
     "Newtonsoft.Json" : "6.0.7" 
    }, 
    "commands": { 
     "run" : "run" 
    }, 
    "frameworks" : { 
     "aspnet50" : { }, 
     "aspnetcore50" : { 
      "dependencies": { 
       "System.Console": "4.0.0-beta-22231", 
       "System.Dynamic.Runtime": "4.0.0-beta-22231", 
       "Microsoft.CSharp": "4.0.0-beta-22231" 
      } 
     } 
    } 
} 
+0

धन्यवाद, मेरे लिए भी काम करता है। –

2

मैं इस समस्या से लड़ रहा था एक और भी कम उपयोगी त्रुटि के साथ संदेश ...

प्रकार या नाम स्थान का नाम 'Linq' नाम स्थान में मौजूद नहीं है 'System.Data'

लेकिन, मैं अपने आईआईएस सर्वर (2012 आर 2 - आईआईएस 8) पर समस्या में भाग रहा था। इन समस्याओं पर मैंने जो पोस्ट पोस्ट की हैं, वे उनके विकास पर्यावरण से निपट रहे थे, न कि उनके वेब सर्वर।

दोनों समस्याओं को हल करने के लिए, मुझे सर्वर फ्रेमवर्क फ़ोल्डर (% विंडोज पथ% \ माइक्रोसॉफ्ट.Net \ Framework \ v4.0.30319) से सिस्टम.कोर.dll की प्रतिलिपि बनाना था, मेरे वेब अनुप्रयोग बिन फ़ोल्डर में ।

मुझे यह स्पष्ट नहीं है कि यह क्यों जरूरी था, लेकिन मैंने दस्तावेज और फोरम पोस्ट के माध्यम से 3 दिन पढ़ा, और वहां कुछ भी नहीं हुआ। हम अभी भाग्यशाली हो गए हैं ...

शायद यह किसी और की मदद करेगा जो संघर्ष कर रहा है।

संबंधित मुद्दे