2016-06-29 10 views
6

में निर्भरता के प्रकार का चयन कैसे करें और कैसे करें मुझे "बिल्ड" और "प्लेटफॉर्म" (और शायद कुछ अन्य) निर्भरता के प्रकार के बीच अंतर क्या है, और डिफ़ॉल्ट प्रकार क्या है ।प्रोजेक्ट.जेसन

उदाहरण के रूप में, मैं

"Microsoft.Extensions.JsonParser.Sources": "1.0.0" 

या

"Microsoft.Extensions.JsonParser.Sources": { 
    "type": "build", 
    "version": "1.0.0" 
}, 

या

"Microsoft.Extensions.JsonParser.Sources": { 
    "type": "platform", 
    "version": "1.0.0" 
}, 

का उपयोग कर तो कैसे चयन करने के लिए निर्भरता जोड़ सकते हैं? Official documentation में अभी तक इस बारे में जानकारी नहीं है।

उत्तर

5

मैं सुझाव दूंगा कि इस फ़ाइल को मैन्युअल रूप से हाथ से संपादित करने से बचें, इस तरह आप इससे ज्यादा चिंता करने से बचें। इसके अतिरिक्त, plans पूरी तरह से इसे हटाने के लिए हैं - जैसे कि आप अब dependencies को परिभाषित करने के लिए project.json फ़ाइल का उपयोग नहीं करेंगे। project.json की JSON SchemaStore definition के अनुसार, type कुंजी इस तरह के रूप में परिभाषित किया जाता है:

"type": { 
    "type": "string", 
    "default": "default", 
    "enum": [ "default", "build", "platform" ] 
  • निर्माण निर्भरता है कि केवल इस परियोजना के निर्माण के लिए आवश्यक है =, build-time dependency

  • मंच = एक निर्भरता जिसे प्लेटफॉर्म पर रहने की उम्मीद है जिसमें आपकी परियोजना target पर कॉन्फ़िगर की गई है।

प्रकार "मंच" है कि निर्भरता पर संपत्ति का मतलब है कि में समय प्रकाशित करते हैं, टूलींग प्रकाशित उत्पादन के लिए है कि निर्भरता के लिए विधानसभाओं के प्रकाशन को छोड़ देगा।

आप डॉटनैट रेपो में ProjectReader.cs के लिए स्रोत की जांच-पड़ताल आप कैसे यह एक वस्तु को यह JSON serializes देखेंगे, और इस वस्तु में हम अर्थ (ऊपर विस्तृत) मिल सकता है।

अतिरिक्त पढ़ने

+0

"हम निम्नलिखित अनुमान लगा सकते हैं:" आप वह हिस्सा खत्म करने के लिए भूल गए? – svick

+0

@ एसविक, हाँ - मैं उस पर विचलित था ... अच्छा पकड़। –

0

प्रलेखन यह राज्य (कम से कम मंच के लिए), तो आप सिर्फ सही जगह :)

आप .NET Core App Types पेज पर इसे पा सकते हैं को देखने के लिए की आवश्यकता है। असल में, "प्लेटफ़ॉर्म" का अर्थ इसे स्थापित रनटाइम से उपयोग करना है और जब आप एप्लिकेशन को प्रकाशित/तैनात करते हैं तो पैकेज नहीं किया जाएगा।

मूल रूप से आप पोर्टेबल ऐप्स के लिए "प्लेटफॉर्म" का उपयोग करते हैं और स्वयं निहित अनुप्रयोगों के लिए कोई प्रकार नहीं।

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

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