2016-08-05 1 views
7

मुझे नियमित विंडोज डेस्कटॉप विकास से एएसपी.नेट कोर एमवीसी में माइग्रेट करने का प्रयास करने में कठिनाई हो रही है। एक मुद्दा जो मैं आ रहा हूं वह मेरा समाधान बनाना है। मैं उन सभी चीजों को हटाना चाहता हूं जो यूआई को डिफ़ॉल्ट प्रोजेक्ट से संबंधित नहीं हैं जो वीएस 2015 के साथ जहाजों को अलग करता है और एक अलग परियोजना में डाल देता है।क्या मैं .NET मानक क्लास लाइब्रेरी में गतिशील उपयोग कर सकता हूं?

मैंने देखा कि एएसपी एमवीसी कोर .NETCoreApp और क्लास लाइब्रेरी प्रोजेक्ट संदर्भ .NETStandard पर संदर्भित करता है।

मेरी समस्या यह है कि मुझे कक्षा पुस्तकालय में गतिशील कीवर्ड्स का उपयोग करने की आवश्यकता है और यह इसका समर्थन नहीं करता है। एमवीसी परियोजना किसी भी समस्या के बिना समर्थन करता है। मुझे लगता है कि यह differente .NET संस्करणों के कारण है।

  1. नेटस्टैंड और नेटकोर ऐप के बीच क्या अंतर है?

  2. क्या मैं कक्षा पुस्तकालय बना सकता हूं जो एमवीसी प्रोजेक्ट के समान संदर्भ का उपयोग करता है, इसलिए मैं उस पर गतिशील कीवर्ड का उपयोग कर सकता हूं?

  3. या मुझे एक ही स्थान पर सभी डोमेन, आधारभूत संरचना आदि के साथ एक परियोजना समाधान के साथ रहना चाहिए?

उत्तर

4

हां, गैर-यूआई कोड को एक अलग पुस्तकालय में रखना संभव है। जैसा कि आपने अनुमान लगाया है, netcoreapp1.0 अनुप्रयोगों (कंसोल या वेब) के लिए है, और netstandard1.X कक्षा पुस्तकालयों के लिए है।

एक .NET मानक क्लास लाइब्रेरी को dynamic कीवर्ड के साथ कोई समस्या नहीं होनी चाहिए। हालांकि, आपको NETStandard.Library संदर्भित करने की आवश्यकता है। यहाँ एक barebones काम कर पुस्तकालय उदाहरण है:

MyLibrary/project.json

{ 
    "description": "My awesome library", 
    "dependencies": { 
     "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
     "netstandard1.3": { } 
    } 
} 

आपका ASP.NET कोर वेब अनुप्रयोग इस पुस्तकालय संदर्भित कर सकते हैं अगर यह इस तरह एक ही समाधान का हिस्सा है:

{ 
    (... other stuff) 

    "dependencies": { 
    "MyLibrary": { 
     "target": "project" 
    } 
    } 
} 
संबंधित मुद्दे