समाधान निर्देशिका के भीतर स्थित एक असेंबली का संदर्भ जोड़ते समय, क्या इसे अपेक्षाकृत रूप से जोड़ने का कोई तरीका है, ताकि जब एक भंडार में चेक इन और आउट किया जाए तो यह सही ढंग से संदर्भित हो?
समाधान निर्देशिका के भीतर स्थित एक असेंबली का संदर्भ जोड़ते समय, क्या इसे अपेक्षाकृत रूप से जोड़ने का कोई तरीका है, ताकि जब एक भंडार में चेक इन और आउट किया जाए तो यह सही ढंग से संदर्भित हो?
जवाबों:
पावेल मिनेव की मूल टिप्पणी पर विस्तार करने के लिए - विजुअल स्टूडियो के लिए जीयूआई इस धारणा के साथ सापेक्ष संदर्भों का समर्थन करता है कि एसएलएन रिश्तेदार संदर्भ की जड़ है। इसलिए यदि आपके पास कोई समाधान है C:\myProj\myProj.sln
, तो आपके द्वारा सबफ़ोल्डर्स में C:\myProj\
जोड़े गए किसी भी संदर्भ को स्वचालित रूप से रिश्तेदार संदर्भ के रूप में जोड़ा जाता है।
एक अलग निर्देशिका में एक रिश्तेदार संदर्भ जोड़ने के लिए, जैसे कि C:/myReferences/myDLL.dll
, निम्नलिखित करें:
इसके बराबर होने के लिए <HintPath> संपादित करें
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
यह अब संदर्भ है C:\myReferences\myDLL.dll
।
उम्मीद है की यह मदद करेगा।
हां, बस अपने समाधान में एक निर्देशिका बनाएं जैसे कि lib /, और फिर फ़ाइल सिस्टम में उस निर्देशिका में अपना dll जोड़ें और इसे प्रोजेक्ट में जोड़ें (जोड़ें- मौजूदा आइटम-> आदि)। फिर अपने प्रोजेक्ट के आधार पर संदर्भ जोड़ें।
मैंने इसे कई बार svn के तहत और cv के तहत किया है।
वीएस 2017 में यह स्वचालित है। तो बस Add Reference
आम तौर पर।
ध्यान दें कि Reference Properties
पूर्ण पथ में दिखाया गया है, लेकिन .vbproj/.csproj
सापेक्ष में उपयोग किया जाता है।
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
संभवतः, इसे प्राप्त करने का सबसे आसान तरीका केवल विधानसभा के संदर्भ को जोड़ना है और फिर संबंधित विज़ुअल स्टूडियो प्रोजेक्ट फ़ाइल (एक्सटेंशन .csproj) में संदर्भ के शाब्दिक प्रतिनिधित्व को ऐसे पैच करें कि यह सापेक्ष हो जाए।
मैंने वीएस 2005 में बिना किसी समस्या के कई बार ऐसा किया है।
मैं यहां से बाहर हो सकता हूं, लेकिन ऐसा लगता है कि जवाब काफी स्पष्ट है: परियोजना के गुणों में संदर्भ पथ देखें। हमारे सेटअप में मैंने हमारे आम रिपॉजिटरी फ़ोल्डर को रेफरी पथ GUI विंडो में जोड़ा, जैसे
इस तरह मैं अपने dlls (प्रकाशन के लिए तैयार) को इस फ़ोल्डर में कॉपी कर सकता हूं और हर डेवलपर को इस फ़ोल्डर से बनने पर हर बार अपडेट किया गया DLL मिलता है।
यदि समाधान में dll पाया जाता है, तो बिल्डर को प्रकाशित टीम संस्करण पर स्थानीय संस्करण को प्राथमिकता देनी चाहिए।
जैसा कि पहले उल्लेख किया गया है, आप .csproj
इसे मैन्युअल रूप से लागू करने के लिए अपनी परियोजना की फ़ाइल को मैन्युअल रूप से संपादित कर सकते हैं ।
मैंने यह भी देखा कि विज़ुअल स्टूडियो 2013 संदर्भ hintpath के लिए एक सापेक्ष पथ को लागू करने का प्रयास करता है, संभवत: प्रोजेक्ट फ़ाइल को अधिक पोर्टेबल बनाने के प्रयास के कारण।