में वैश्विक रूप से (प्रति उपयोगकर्ता नहीं) "डीबगिंग/कार्यशील निर्देशिका" को बदलना मेरे पास एकाधिक परियोजनाओं के साथ वीएस 2008 में सी ++ समाधान है। इस समाधान में उन फ़ाइलों को शामिल किया गया है जो रनटाइम पर आवश्यक हैं, जो समाधान निर्देशिका के अनुसार समाधान निर्देशिका (उदा। "Testing/data/" + "dataN.bin"
) के सापेक्ष लोड किए गए हैं।VS2008
आदेश में इस समाधान के लिए काम करने के लिए, मैं इतना है कि यह समाधान निर्देशिका (जैसे Configuration Properties >> Debugging >> Working Directory = $(SolutionDir)
) को इंगित करेंगे कार्यशील निर्देशिका परियोजना (ओं) में की स्थापना सेट करना होगा। यह ठीक काम करता है जब मैं अपने पीसी पर डीबगिंग कर रहा हूं। हालांकि, जब कोई अलग उपयोगकर्ता मेरा समाधान लोड करता है, तो उसकी परियोजनाओं में यह संपत्ति ठीक से सेट नहीं होती है।
मैंने इस सेटिंग को प्रोजेक्ट फ़ाइल (PROJECT.vcproj
) में संग्रहीत नहीं किया है, लेकिन इसके लिए बनाए गए उपयोगकर्ता-विशिष्ट फ़ाइल में (PROJECT.vcproj.DOMAIN.USER.user
)।
मैं इस सेटिंग को मैन्युअल रूप से बार-बार सेट करने के बिना सभी उपयोगकर्ताओं के लिए संग्रहीत करने का एक तरीका चाहूंगा।
मेरे विचार थे:
- .vcproj फ़ाइल (नहीं उपयोगकर्ता-विशिष्ट एक) या समाधान फ़ाइल में दुकान यह करने के लिए एक रास्ता खोजें।
- "डिफ़ॉल्ट-उपयोगकर्ता-विशिष्ट फ़ाइल" बनाने के लिए एक तरीका खोजें, जिससे सभी उपयोगकर्ता-विशिष्ट सेटिंग्स प्रारंभ हो जाएंगी (और बाद में बाद में संशोधित हो सकती हैं)।
हालांकि, मुझे इनमें से किसी एक को करने का कोई तरीका नहीं मिला।
कुछ और सूचनाएं/कमी:
- मैं इन संसाधनों के रूप में कई बड़ी फ़ाइलों के साथ काम करने की जरूरत है, इसलिए मैं अलग निर्देशिका के लिए प्रतियां प्रदर्शन कर से बचने के लिए चाहते हैं।
- समाधानों को एकाधिक बिल्ड कॉन्फ़िगरेशन (डीबग, रिलीज इत्यादि) का समर्थन करने की आवश्यकता है।
- चीजों को सरल (कम प्राथमिकता) रखने के लिए, यदि संभव हो तो मैं प्री/पोस्ट बिल्ड स्क्रिप्ट से बचना चाहूंगा।
किसी भी मदद की सराहना की जाएगी ... अग्रिम धन्यवाद।
संसाधनों की प्रतिलिपि बनाना: यह चाल करेगा, हालांकि मेरे पास कॉपी करने के लिए बड़ी मात्रा में संसाधन हैं (इस मामले में, बड़े परीक्षण वैक्टर), और यह हर बार कॉपी करने के लिए समय और स्मृति का अपशिष्ट होगा। इसके अतिरिक्त, मेरे पास एकाधिक बिल्ड कॉन्फ़िगरेशन (रिलीज, डीबग, ...) है, जो आगे की नकल का कारण बनेंगे जो मैं टालना चाहता हूं। यह समझ में आता है कि ये वैक्टर मूल "समाधान" निर्देशिका में हैं, क्योंकि इस डेटा का उपयोग कई परियोजनाओं (विभिन्न तरीकों से) द्वारा किया जाता है। इसके अलावा, मैं समाधान की फाइल सूची (निर्देशिका संरचना के संबंध में) में आदेश बनाए रखना चाहता हूं। – scooz
फ्लिप पक्ष पर, रूट समाधान निर्देशिका में निष्पादन योग्य परिणाम की प्रतिलिपि न केवल रूट निर्देशिका पर गड़बड़ी का कारण बनती है, बल्कि यह कई बिल्ड कॉन्फ़िगरेशन का उचित समर्थन नहीं करेगी (उसी नाम की फ़ाइलों को ओवरराइड करना आदि)। ऐसा लगता है कि डीबगिंग उद्देश्यों के लिए, सबसे तार्किक बात करना कामकाजी निर्देशिका बदलना है। आपके द्वारा लाए गए तैनाती के मुद्दों के बारे में (जो मैं सहमत हूं), मैं डीबगिंग के दौरान वहां चीजों को जटिल बना दूंगा (क्योंकि मैं डीबग से कम बार-बार तैनात करता हूं) – scooz
यही कारण है कि मैंने xcopy/d विकल्प के व्यवहार की ओर इशारा किया। आप केवल एक बार प्रतिलिपि के लिए भुगतान कर रहे हैं। –