एक .NET समाधान के लिए निर्देशिका संरचना


16

हमारे पास हाल ही में एक ठेकेदार का दौरा आया था जिसने संरचना परियोजनाओं की हमारी कार्यप्रणाली पर सवाल उठाया था। कृपया ध्यान दें कि मैं विशेष रूप से निर्देशिका संरचना की बात कर रहा हूं। उन्होंने Microsoft दिशानिर्देशों का उपयोग करने का सुझाव दिया। मुझे लगा कि मैं Google "Microsoft दिशानिर्देशों .NET प्रोजेक्ट निर्देशिका संरचना" में सक्षम हो जाऊंगा और कुछ उपयोगी पा सकता हूं, हालांकि यह साबित नहीं हुआ है। जैसा कि यह खड़ा है कि हम कुछ इस तरह से करते हैं:

[Company.System.Feature]
  |-doc
     |Sandcastle project
  |-lib
     |Nuget packages
  |-src
    |-Project1 e.g. web
    |-Project2 e.g. business logic
    |-UnittestProject1
    |-Specs

डॉक्टर फ़ोल्डर में एक सैंडकास्टल समाधान होता है जैसे यहाँ वर्णित है: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Bilder (देखें: निरपेक्ष और सापेक्ष पथ)। इसलिए doc फोल्डर में एक हेल्प फोल्डर होता है, जिसमें जेनरेट हेल्प फाइल होती है। Lib फ़ोल्डर में सभी Nuget पैकेज होते हैं।

क्या कोई Microsoft दिशानिर्देश हैं, जो सलाह देते हैं कि समाधान कैसे तैयार किया जाए? मैंने यहाँ देखा है: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756649_789554 अन्य स्थानों के बीच। मेरे द्वारा पढ़े गए अधिकांश लेख और प्रश्न 2007-2009 के निर्मित प्रतीत होते हैं। मेरा मानना ​​है कि Nuget को 2010 में पेश किया गया था। क्या कोई Microsoft दिशानिर्देश हैं? मैं ट्री सर्जन नामक किसी चीज के बारे में पढ़ता हूं, हालांकि यह अब मौजूद नहीं लगता है: https://archive.codeplex.com/?p=treestector

मैं टीएफएस का उपयोग कर रहा हूं; क्रूज़ कंट्रोल और डीडीडी वह है जो किसी भी अंतर को बनाता है।


4
निर्देशिका संरचनाएं बहुत स्वाद का मामला हैं। उस फ़ोल्डर संरचना का उपयोग करें जो आपके प्रोजेक्ट / संगठनों के इरादों को स्पष्ट रूप से बताता है।
रॉबर्ट हार्वे

5
इसके अलावा, अगली बार जब कोई कहता है कि आपको किसी चीज़ के बारे में "Microsoft दिशानिर्देश" का पालन करना चाहिए, तो उस व्यक्ति को उन दिशानिर्देशों को प्रदान करने के लिए कहें, या आपको यह दिखाएं कि आप उन्हें कहाँ पा सकते हैं। अन्यथा, यह बेकार की सलाह है।
रॉबर्ट हार्वे

2
विषम बिट पैकेज के बजाय nuget संकुल को lib में डाल रहा है
Ewan

1
@ ईवन, नगेट पैकेज डॉटनेटकोर packagesऔर वीएस २०१ug-शैली की परियोजनाओं के लिए भी किसी और में नहीं हैं । वे अब परियोजनाओं की objनिर्देशिका में रहते हैं ।
डेविड अरनो

2
पीएफएफ! उन्नयन?!?!? लगता है जैसे यह सामान तोड़ सकता है
इवान

जवाबों:


21

MSDN पर, कुछ बहुत पुराने आधिकारिक दिशानिर्देश हैं । हालांकि ये पुराने हैं। जैसा कि पेज कहता है, " यह सामग्री पुरानी है और अब इसे बनाए नहीं रखा जा रहा है। यह उन व्यक्तियों के लिए एक शिष्टाचार के रूप में प्रदान किया जाता है जो अभी भी इन तकनीकों का उपयोग कर रहे हैं। "

प्रोजेक्ट पाड़ के माध्यम से एक सामान्य समाधान संरचना को परिभाषित करने का प्रयास किया गया था । यह C # के बजाय F # की ओर अधिक उन्मुख है। हालांकि यह वास्तव में दूर नहीं हुआ था और इन दिनों विचारों के विकास का कोई संकेत नहीं है।

दिशानिर्देशों के सेट पर सबसे अधिक सक्रिय और अद्यतित डेविड फॉवलर द्वारा बनाए रखा जाता है, जो ASP.NET टीम में Microsoft के डेवलपर हैं। इन दिशानिर्देशों का उपयोग Microsoft के भीतर कई लोग करते हैं, जिसमें रोज़लिन (C # और VB.Net संकलक) टीम शामिल हैं। आप इस दृष्टिकोण को अपनाने की तुलना में कहीं अधिक खराब कर सकते हैं।


मैंने पहले दो लिंक देखे, लेकिन तीसरे नहीं। तीसरे लिंक के लिए +1। क्या मैं अपना संपूर्ण सैंडकास्टल प्रोजेक्ट डॉक्स फ़ोल्डर या सैंडकैसल प्रोजेक्ट द्वारा उत्पन्न की गई सहायता फ़ाइलों में डाल दूंगा? यकीन नहीं होता कि यह जवाब क्यों दिया गया।
w0051977

1
निष्पक्ष होने के लिए, प्रत्येक पृष्ठ जो Microsoft की नई दस्तावेज़ीकरण प्रणाली में शामिल नहीं है, उन शब्दों के साथ मुहर लगाया जाता है "यह सामग्री पुरानी है और अब इसे बनाए नहीं रखा गया है।" इसका मतलब यह नहीं है कि वहाँ कुछ उपयोगी जानकारी नहीं है।
रॉबर्ट हार्वे

क्या तुम चश्मा लगाओगे? टेस्ट फ़ोल्डर में या Specs नामक निर्देशिका में (उसी निर्देशिका में src फ़ोल्डर के रूप में)? मुझे लगता है कि यह वास्तव में बहुत ज्यादा मायने नहीं रखता है।
w0051977

@RobertHarvey: पर्याप्त रूप से उचित है, लेकिन उस पृष्ठ को केवल आगे पीछे करने के लिए और कुछ नहीं होने का उल्लेख करना भी प्रोजेक्ट फ़ोल्डर संरचना को बदलने का एक कारण नहीं है यदि एक अलग से पहले ही स्थापित किया गया है।
Flater

आप GitHub, जैसे एनीटी फ्रेमवर्क में अधिकांश ओपन सोर्स प्रोजेक्ट्स में व्यवहार में डेविड फाउलर के दिशानिर्देश देख सकते हैं ।
pfx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.