2015-11-25 7 views
28

(अब DNX issue 3206 के रूप में उठाया गया है ...)global.json में अभिभावक-संबंधित निर्देशिकाओं के अपेक्षित व्यवहार क्या हैं?

डीएनएक्स पर्यावरण: 1.0.0-आरसी 1, विंडोज 10 x64।

कल्पना कीजिए मैं तीन समाधान है:

  • Application1
  • Application2
  • आम

इन समाधानों में से प्रत्येक में कई परियोजनाओं है; यह सभी परियोजनाओं को एक ही समाधान में समझ में नहीं आता है, भले ही यह विशेष समस्या को सरल बनाये।

आवेदन 1 और आवेदन 2 में विभिन्न परियोजनाएं सामान्य में एक परियोजना पर निर्भर करती हैं। उनकी project.json फ़ाइलें इंगित करती हैं कि सामान्य तरीके से निर्भरता। अंततः मैं सामान्य से कलाओं को एक NuGet सर्वर (आंतरिक या बाहरी) में प्रकाशित करना चाहता हूं, यह अस्थायी रूप से केवल स्रोत से सब कुछ बनाने के लिए समझ में आता है।

मेरे पास करने के लिए संपादन global.json भीतर (माना) Application1 से ऐसा कर सकते हैं:

{ 
    "projects": [ "src", "test", "../Common/src" ], 
    "sdk": { "version": "1.0.0-rc1-final" } 
} 
उस जगह में साथ

, मैं जड़ से Application1 निर्देशिका से एक dnu restoreप्रदर्शन कर सकते हैं ... लेकिन नहीं निर्देशिका। (त्रुटि "निर्भरता का पता लगाने में असमर्थ 'सामान्य'> = 0.0.0- *"।) मैं रूट निर्देशिका से dnu restore Application1 चला सकता हूं, लेकिन केवल dnu restore नहीं।

मैंने सामान्य स्रोत निर्देशिका ("./Common/src", "सामान्य/src", "../repo-name/Common/src" सहित) के संदर्भ में कई तरीकों का प्रयास किया है, लेकिन हेवन ' टी अभी तक कोई खुशी नहीं थी। हर मामले में, मुझे ऊपर दिखाए गए त्रुटि संदेश मिलते हैं। मैंने dnu -v restore का उपयोग करने का प्रयास किया है, लेकिन यह कोई अतिरिक्त जानकारी नहीं दे रहा है कि स्रोत-आधारित संकुल के लिए कौन सी निर्देशिकाओं की जांच की जा रही है।

तो, "../Common/src" चाहिए global.json में हल किया जा? क्या यह मैंने वर्णित विकास परिदृश्य के लिए एक अनुकूल दृष्टिकोण है, और यदि ऐसा है तो यह सिर्फ डीएनएक्स के खिलाफ एक बग दर्ज करने का मामला है?

+1

मैं में जाने: इस समस्या को हल करने के लिए

एक तरह से निम्नलिखित सामग्री के साथ रूट फ़ोल्डर को global.json जोड़ने के लिए है मैं अभी भी सीख रहा हूं, लेकिन क्या आपके पास केवल एक global.json फ़ाइल नहीं है और यह रूट पर होनी चाहिए? –

+1

@ खालिद अब्दकमेह: प्रति समाधान एक। यह कई समाधानों के साथ कई समाधानों का एक मामला है। सवाल स्पष्ट करेंगे। –

+1

global.json (या dnx) में कोई अनुभव नहीं; लेकिन सामान्य रूप से, मैं सापेक्ष संदर्भों से बचने की कोशिश करता हूं जैसे "../ फ़ोल्डर "क्योंकि विभिन्न संदर्भों में समस्याग्रस्त हैं। क्या आपने दिए गए एप्लिकेशन के फ़ोल्डर के अंदर सामान्य/src सामग्री को स्टोर करने का प्रयास किया है और इसे" ../ "भाग के बिना संदर्भित किया है? बस परीक्षण के लिए। यह देखने के लिए कि यह है या नहीं समस्या। – varocarbas

उत्तर

8

यह dnu restore शुरू करने पर आप जिस तरह से अपेक्षा करते हैं, उस पर काम नहीं करता है, यह वर्तमान या मूल निर्देशिका में global.json खोजने की कोशिश करता है, और इससे परियोजना पथ पढ़ता है। तो आपके उदाहरण में यह कुछ भी नहीं पढ़ता है क्योंकि global.json उप-निर्देशिका में है।

{ 
    "projects": [ "Application/src", "Common/src" ] 
} 

मैं इस परिदृश्य के बारे में चारों ओर पूछना होगा और अगर यह बदल सकता है जब dotnet cli

+1

तो यह * केवल * प्रोजेक्ट.जेसन की तलाश करता है जब बच्चे निर्देशिका खोजता है? यह व्यवहार की भावना पैदा करेगा, लेकिन एक अजीब डिजाइन पसंद प्रतीत होता है। हालांकि प्रयोग करेंगे - धन्यवाद! –

+1

ठीक है, थोड़ा और खेला, मुझे लगता है कि यह वास्तव में समस्या है। उचित मुद्दे में संशोधन करेंगे :) –

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

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