2009-02-27 8 views
10

मेरे पास वीएस 2008 में एक ही समाधान के भीतर कई परियोजना संदर्भों के साथ एक WPF अनुप्रयोग प्रोजेक्ट है। जब मैं अपना समाधान संकलित करता हूं, तो सभी संदर्भित डीएल आउटपुट में होते हैं वही फ़ोल्डर जो मुख्य .exe आउटपुट में है।विजुअल स्टूडियो एक अलग फ़ोल्डर में परियोजना संदर्भों को संकलित कर सकता है तो मुख्य .exe

क्या मेरे मुख्य .exe प्रोजेक्ट को मेरे .exe से संबंधित उप फ़ोल्डर में सभी संदर्भों को आउटपुट करने के लिए कॉन्फ़िगर करना संभव है?

मैं अंतिम परिणाम की तरह कुछ इस तरह मानेंगे:

MyApp.exe MyApp.exe.config लिब \ SomeReference.dll लिब \ SomeReference2.dll

(मैं इस करता है, तो यह मान संभव है, यह किसी भी .exe के साथ संभव होगा)।

धन्यवाद! जॉन

उत्तर

7

ऐसा लगता है कि यह काफी गहन प्रक्रिया है।

पहले संदर्भ की प्रतिलिपि स्थानीय संपत्ति को गलत पर सेट करें ताकि .dll को bin \ Debug फ़ोल्डर में कॉपी नहीं किया जा सके।

फिर क्रम को निर्देश देने लिब फ़ोल्डर में DLLs देखने के लिए अपने app.config में एक assemblyBinding\probing तत्व बनाने

फिर एक के बाद निर्माण कार्रवाई \ बिन \ डीबग \ लिब करने के लिए आवश्यक DLLs कॉपी करने के लिए बनाने के फ़ोल्डर।

+0

प्रतिलिपि स्थानीय = सत्य छोड़ना आसान हो सकता है, लेकिन विधानसभा को जोड़ना * जांच के साथ $ (TargetDir) से subfolder तक * डीएलएल को ले जाना। –

+0

यदि ये प्रोजेक्ट संदर्भ हैं, तो मैं आपसे सहमत हूं, लेकिन यदि ये केवल पूर्व-निर्धारित डीएलएस हैं, तो आप उन्हें पोस्टबिल्ड में अपने स्रोत से कॉपी भी कर सकते हैं। इसके अलावा, अगर आप एक एमएसआई बना रहे थे, तो आप नहीं चाहते कि डीएलएस प्राथमिक आउटपुट का हिस्सा हों, जो मुझे विश्वास है कि वे CopyLocal = true होगा। – foson

+0

आह हाँ, धन्यवाद, मैं परियोजना संदर्भों के बारे में सोच रहा था। परियोजनाओं के बजाय डीएलएल का संदर्भ देना एक बुरा कर्म है, लेकिन तीसरे पक्ष के डीएलएल और तैनाती परियोजना उत्कृष्ट अंक हैं। –

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

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