visual studio - विजुअल स्टूडियो को आउटपुट निर्देशिका में एक डीएलएल फ़ाइल की प्रतिलिपि बनाने के लिए कैसे करें?




visual-studio visual-c++ (3)

$ (आउटडियर) वीएस2013 में एक सापेक्ष पथ साबित हुआ, इसलिए मुझे वांछित प्रभाव प्राप्त करने के लिए इसे $ (ProjectDir) के साथ जोड़ना पड़ा:

xcopy /y /d  "$(ProjectDir)External\*.dll" "$(ProjectDir)$(OutDir)"

बीटीडब्लू, आप शुरुआत में 'गूंज' जोड़कर स्क्रिप्ट को आसानी से डीबग कर सकते हैं और बिल्ड आउटपुट विंडो में विस्तारित टेक्स्ट का निरीक्षण कर सकते हैं।

मेरे पास एक विजुअल स्टूडियो सी ++ प्रोजेक्ट है जो बाहरी DLL फ़ाइल पर निर्भर करता है। जब मैं प्रोजेक्ट बनाता हूं तो मैं Visual Studio को इस DLL फ़ाइल को स्वचालित रूप से आउटपुट निर्देशिका (डीबग / रिलीज़) में कैसे कॉपी कर सकता हूं?


(यह उत्तर केवल सी # + पर लागू होता है, क्षमा करें, मैंने मूल प्रश्न को गलत तरीके से पढ़ा है)

मुझे पहले इस तरह डीएलएल नरक के माध्यम से मिला है। मेरा अंतिम समाधान प्रबंधित डीएलएल में बाइनरी संसाधनों के रूप में प्रबंधित डीएलएल को स्टोर करना था, और प्रोग्राम को लॉन्च होने पर उन्हें अस्थायी फ़ोल्डर में निकालना था और इसे डिस्पोजेड होने पर हटा देना था।

यह .NET या पिनवोक इंफ्रास्ट्रक्चर का हिस्सा होना चाहिए , क्योंकि यह बहुत उपयोगी है .... यह आपके प्रबंधित डीएलएल को एक्सकॉपी का उपयोग करके या एक बड़े विजुअल स्टूडियो समाधान में प्रोजेक्ट संदर्भ के रूप में प्रबंधित करने में आसान बनाता है। एक बार ऐसा करने के बाद, आपको पोस्ट-बिल्ड इवेंट्स के बारे में चिंता करने की ज़रूरत नहीं है।

अद्यतन करें:

मैंने यहां एक और उत्तर https://.com/a/11038376/364818 कोड पोस्ट किया


ऊपर दिए गए टिप्पणियों अनुभाग में विवरण मेरे लिए काम नहीं करते थे (वीएस 2013) जब एक सी ++ प्रोजेक्ट से आउटपुट डीएल की प्रतिलिपि बनाने और उसी समाधान के भीतर किसी अन्य सी # प्रोजेक्ट के डीबग फ़ोल्डर को कॉपी करने का प्रयास करते समय।

मुझे निम्न पोस्ट बिल्ड-एक्शन जोड़ना था (प्रोजेक्ट पर राइट क्लिक करें जिसमें एक .dll आउटपुट है) तो गुण -> कॉन्फ़िगरेशन गुण -> ईवेंट बनाएं -> पोस्ट-बिल्ड इवेंट -> कमांड लाइन

अब मैंने दो फ़ोल्डरों में आउटपुट डीएलएल की प्रतिलिपि बनाने के लिए इन दो पंक्तियों को जोड़ा:

xcopy /y $(TargetPath) $(SolutionDir)aeiscontroller\bin\Release
xcopy /y $(TargetPath) $(SolutionDir)aeiscontroller\bin\Debug





dll