12

यह लिंक How do I create an XML Intellisense file for my DLL? बताता है कि आपके डीएलएल कैसे बनाएं ताकि एक XML फ़ाइल शामिल हो, जिसमें आपके सभी दस्तावेज़ शीर्षलेख शामिल हों ताकि वे उन IntelliSense पॉपअप में उपलब्ध हों।एक्सजी इंटेलिजेंस डेटा

मेरी कंपनी में हम अक्सर एक आंतरिक NuGet पैकेज स्रोत का उपयोग करके अपने स्वयं के डीएल वितरित करते हैं। जब मैं पैकेज स्रोत के लिए NuGet संकुल बनाता हूं, तो मैं कैसे सुनिश्चित करूं कि किसी और को पैकेज स्रोत से डीएलएल मिल जाए, IntelliSense उनके लिए प्रलेखन शीर्षलेख प्रदर्शित करता है?

+0

यह भी देखें http://stackoverflow.com/q/5205738/284795 –

उत्तर

14

यदि आप अपने एक्सएलजी फाइलों को अपने NuGet पैकेज के साथ अपने डीएलएस के समान फ़ोल्डर में वितरित करते हैं तो विजुअल स्टूडियो को इन एक्सएमएल फाइलें मिलेंगी और आपके असेंबली के लिए इंटेलिजेंस दिखाएंगी।

IntelliSense एक्सएमएल फ़ाइलें आप अपने .nuspec फाइल करने के लिए उन्हें जोड़ने के लिए उदाहरण के लिए की आवश्यकता होगी distibute करने के लिए:

<files> 
    <file src="bin\IronPython.dll" target="lib\Net40" /> 
    <file src="bin\IronPython.xml" target="lib\Net40" /> 
</files> 
+0

मैं पहले से ही यह कोशिश करूँगा। जिस भाग को मैं याद करता था वह था कि मुझे पैकेज बनाने से पहले .nuspec फ़ाइल में .xml फ़ाइल का उल्लेख करना आवश्यक था। क्या आप इसका जिक्र कर सकते हैं, और फिर मैं आपको सही चिह्नित करूंगा। – David

6

tl; डॉ प्रलेखन फ़ाइलों होने की .xml नहीं .XML

मैं की जरूरत है पहले एक्सएमएल फाइलों को बिल्ड टैब का उपयोग करके उत्पादन सक्षम करने में सक्षम था, आउटपुट सेक्शन में एक्सएमएल दस्तावेज़ीकरण फाइल की जांच कर रहा था। नोट: किसी कारण से मुझे मैन्युअल रूप से .XML से लोअरकेस .xml में एक्सटेंशन को बदलना पड़ा। YMMV। यह आपके द्वारा संदर्भित प्रश्न के समान है, How do I create an XML Intellisense file for my DLL?

एक बार हो जाने पर, मैंने प्रोजेक्ट निर्देशिका में Nuspec फ़ाइल बनाई। यहां एक नमूना है, आप इसे nuget spec MyAssembly.dll के साथ भी उत्पन्न कर सकते हैं - लेकिन इसे संपादित करना और मूल्यों को उचित रूप से सेट करना सुनिश्चित करें।

<?xml version="1.0"?> 
<package > 
    <metadata> 
    <id>$id$</id> 
    <version>1.0.0</version> 
    <title>Title for your package</title> 
    <authors>Package Author</authors> 
    <owners>Package Owner</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>A description of your library</description> 
    <releaseNotes>Release notes for this version.</releaseNotes> 
    <copyright>Copyright 2013</copyright> 
    <tags>tag1 tag2</tags> 
    </metadata> 
</package> 

एक बार ऐसा करने के बाद, मैंने पैकेज को नुजेट का उपयोग किया। नोट मैं मंच क्योंकि मैं एक 64-बिट ऑपरेटिंग सिस्टम का उपयोग कर रहा निर्दिष्ट करने के लिए किया था, लेकिन मैं 64 के लिए परियोजना में किसी भी लक्ष्य नहीं है, केवल AnyCPU

nuget pack MyAssembly.csproj -Prop Configuration=Release;Platform=AnyCPU -build 

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

अधिक जानकारी के लिए http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package देखें।

+1

परिवर्तन अपरकेस एक्सएमएल को लोअरकेस xml में मेरे लिए काम किया। जो दुखद है –

+0

दुखद, लेकिन यह लॉल काम करता है। – AgentFire