7

में प्रोजेक्ट संदर्भों के लिए "विशिष्ट संस्करण" प्रॉपर्टी कैसे सेट करें मुझे कई परियोजनाओं वाला विजुअल स्टूडियो समाधान मिला है और परियोजनाओं के संदर्भ में परियोजना संदर्भों के संदर्भों को स्थापित किया है।विजुअल स्टूडियो

जब एक विधानसभा के लिए एक संदर्भ जोड़ दिया जाता है, संदर्भ 'गुण के लिए

Specific Version = True|False

एक सेटिंग यह गुण परियोजना संदर्भ के लिए याद आ रही है होते हैं। इसे कैसे सेट किया जा सकता है? मैं बिन फ़ोल्डर में किसी भी उपलब्ध असेंबली (चाहे कोई संस्करण चाहे) लोड करने के लिए मेरा समाधान चाहूंगा।

मुझे कोई समस्या है जब वर्कफ़्लो इंस्टेंस (वर्कफ़्लो फाउंडेशन) को deserialized किया गया था और इस समय निर्भरताओं को अद्यतन किया गया था।

उत्तर

1

मुझे मेरी समस्या का समाधान मिला है। यह बहुत विस्तृत here वर्णित है। समस्या गलत परियोजना संदर्भों का मामला नहीं है, लेकिन वर्कफ़्लो उदाहरणों का एक डी/क्रमबद्धता प्रश्न है।

मदद करने की कोशिश करने वाले सभी लोगों के लिए धन्यवाद।

+0

दुर्भाग्य से लिंक टूटा हुआ है । क्या इसे ठीक करना संभव है? –

+0

मैंने लिंक अपडेट किया है, लेकिन पोस्ट का पहला भाग अब उपलब्ध नहीं है। कृपया ध्यान रखें कि समस्या डब्ल्यूएफ 3.5 के साथ थी। आज डब्ल्यूएफ संस्करण डब्ल्यूएफ संस्करण के मामले में बॉक्स से अधिक प्रदान करता है। –

3

मैं आपके प्रश्न को गलत समझ सकता हूं, लेकिन जब आप एक परियोजना संदर्भ जोड़ते हैं, तो परियोजना की असेंबली हमेशा किसी भी परियोजना में लोड होती है जो परियोजना के निर्माण के दौरान संदर्भित करती है। इसलिए, आपके पास उस प्रोजेक्ट के लिए बिन फ़ोल्डर में हमेशा नवीनतम उपलब्ध असेंबली होगी। वीएस इस संबंध में अन्य असेंबली की तुलना में परियोजनाओं का अलग-अलग व्यवहार करता है।

+0

मैंने प्रश्न अपडेट किया है। मैं बिन फ़ोल्डर में कोई भी उपलब्ध संस्करण लोड करना चाहता हूं। मुझे कोई समस्या हुई है जब वर्कफ़्लो इंस्टेंस (वर्कफ़्लो फाउंडेशन) को deserialized किया गया था और इस दौरान निर्भरताओं को अद्यतन किया गया था। –

1

आप परियोजनाओं के बजाय परियोजना आउटपुट डीएलएस के संदर्भ जोड़ सकते हैं। फिर आप विशिष्ट संस्करण सेटिंग सेट करने में सक्षम होंगे।

+0

आपके उत्तर के लिए धन्यवाद।लेकिन आप डीबग और असेंबली जारी करने के साथ कैसे निपटते हैं? वे अलग-अलग फ़ोल्डरों में हैं। –

+1

आप .csproj फ़ाइल को संपादित करके में चर का उपयोग कर सकते हैं, उदा। $ (OutDir) \ Referenced.dll या .. \ संदर्भित \ बिन \ $ (विन्यास) \ Referenced.dll

6

मुझे लगता है कि समस्या यह है कि आप जो भी पूछ रहे हैं वह सीधे एक परियोजना संदर्भ के साथ संभव नहीं है, मुझे लगता है कि लिंक की प्रकृति के कारण हमेशा स्पष्ट रूप से 'स्पष्ट संस्करण' में बदल जाता है।

जिस तरह से आप ऐसा कर सकता है (वर्तमान में संदर्भित परियोजना एक आह्वान करने और संदर्भित परियोजना बी):

  • परियोजना आप अपने समाधान में संदर्भ लेना चाहते है, जैसा कि आप के साथ अब क्या परियोजना संदर्भ
  • स्पष्ट रूप से निर्भरता श्रृंखला सेट तो 'संदर्भित' परियोजना पहले
  • बिल्ड संदर्भित परियोजना एक बनाया गया है एक बार पहले मैन्युअल
  • परियोजना बी में एक विधानसभा संदर्भ बनाएं परियोजना में निर्माण से परिणाम एक
  • सेट '= झूठी विशिष्ट संस्करण'

निर्माण आदेश (निर्भरता) है कि एक गारंटी करने के लिए विधानसभा संदर्भ हमेशा बी से पहले बनाया गया है, और बी इसे संदर्भ जाएगा ए

(अल्थो, यह थोड़ा भंगुर है और मैं इसकी अनुशंसा नहीं करता क्योंकि सेटिंग्स सही नहीं हैं, या सूर्य सितारों के साथ संरेखित गलत है, या गलत परिणाम प्राप्त करना आसान है, या बाइनरी आउटपुट निर्देशिका से, कुछ ऐसे)

+0

आप कर सकते हैं खोलने के विभिन्न निर्माण विन्यास (रिलीज़/डीबग) के लिए संदर्भित परियोजना के आउटपुट फ़ोल्डर मिलान का समर्थन एक पाठ संपादक में "ProjectB.csproj" फ़ाइल और संदर्भ के लिए '' को बदलना (उदाहरण के लिए) ' .. \ ProjectA \ bin \ $ (कॉन्फ़िगरेशन) \ ProjectA.dll' – Alain

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