2015-06-10 11 views
18

ASP.NET 5 अनुप्रयोगों के लिए documentation for using project.json एक नमूना project.json फ़ाइल (नीचे संक्षिप्त संस्करण) शामिल है।प्रोजेक्ट.जेसन में 'निर्भरता' और 'फ्रेमवर्कएस्सेब्ली' के बीच क्या अंतर है?

frameworkAssemblies और dependencies के बीच क्या अंतर है?

और dnx451 क्यों एक और dnxcore50 का उपयोग दूसरे का उपयोग करता है?

{ 
    "version": "0.1-alpha-*", 
    ... 
    "frameworks": { 
    "dnx451": { 
    "frameworkAssemblies": { 
     ... 
     } 
    }, 
    "dnxcore50": { 
    "dependencies": { 
     ... 
    } 
    } 
} 

उत्तर

20

frameworkAssemblies GAC (वैश्विक विधानसभा कैश) में मौजूद विधानसभाओं को दर्शाता है।

पर विचार करें निम्न उदाहरण:
मैं एक SQL सर्वर डेटाबेस के साथ काम करने ADO.NET API (SqlConnection, SqlCommand) का उपयोग करना चाहते हैं। मुझे पता है कि ये एपिस System.Data.dll का हिस्सा हैं और इसलिए इसका संदर्भ देना चाहते हैं। अब जब .NET Framework का पूर्ण संस्करण स्थापित है, तो यह जीएसी में कुछ असेंबली स्थापित करता है (जिसमें यह System.Data.dll भी है) और इसलिए आप नीचे दिए गए उदाहरण में frameworkassemblies का संदर्भ देखते हैं। CoreClr पर आ रहा है, मुझे यह पता लगाने की आवश्यकता है कि इन प्रकार के पैकेज किस प्रकार मौजूद हैं। इसके लिए आप PackageSearch नामक वेबसाइट का उपयोग कर सकते हैं (एक एएसपी.नेट टीम सदस्य द्वारा निर्मित) जहां आप एक प्रकार की खोज कर सकते हैं और पैकेज का नाम ढूंढ सकते हैं। इस पर आधारित आपको पैकेज होने के लिए System.Data.SqlClient मिलेगा। चूंकि यह पैकेज CoreClr के लिए बनाया गया है, यह dnxcore50 अनुभाग के भीतर dependencies अनुभाग का हिस्सा है।

{ 
    "version": "1.0.0-*", 
    "description": "Test App", 
    "dependencies": { 
    }, 
    "frameworks": { 
     "dnx451": { 
      "frameworkAssemblies": { 
       "System.Data": "4.0.0.0" 
      } 
     }, 
     "dnxcore50": { 
      "dependencies": { 
       "System.Data.SqlClient": "4.0.0-beta-*" 
      } 
     } 
    } 
} 

अब मान लीजिए कि आप भी अपने अनुप्रयोग में json क्रमबद्धता और अक्रमांकन के लिए समर्थन जोड़ने के लिए चाहते हैं और संदर्भ के लिए Json.Net nuget पैकेज चाहते हैं। Json.Net nuget पैकेज डेस्कटॉप और कोर क्लियर दोनों का समर्थन करता है और इसलिए आप इसे दोनों ढांचे के लिए dependencies अनुभाग में डाल देंगे।

{ 
    "version": "1.0.0-*", 
    "description": "Test App", 
    "dependencies": { 
     "Newtonsoft.Json": "6.0.6" 
    }, 
    "frameworks": { 
     "dnx451": { 
      "frameworkAssemblies": { 
       "System.Data": "4.0.0.0" 
      } 
     }, 
     "dnxcore50": { 
      "dependencies": { 
       "System.Data.SqlClient": "4.0.0-beta-*" 
      } 
     } 
    } 
} 
+0

पैकेज खोज के लिंक के लिए धन्यवाद, यह साइट शानदार है! - http://packagesearch.azurewebsites.net/ – timdougall

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