2013-08-04 6 views
7

मेरे पीसी पर मैं पैदा की है एक प्रणाली वातावरण चर 3DSMaxInstallDirectoryVS2010: में पर्यावरण चर का उपयोग कैसे करें के बाद बिल्ड

कमांड लाइन पर कहा जाता है, अगर मैं दे

echo %3DSMaxInstallDirectory%Plugins\ 

मैं

मिल
D:\Program Files\Autodesk\3ds Max 2011\Plugins\ 

दृश्य स्टूडियो में मैं पोस्ट-बनाएं खंड

copy "$(TargetDir)$(TargetName).*" "$(3DSMaxInstallDirectory)Plugins\" 
में प्रवेश

हालांकि निर्माण पर मैं

Error 4 The command "copy "C:\Users\Sebastian\Documents\Visual Studio 2010\Projects\MaxBridge\MaxBridgeImporterPlugin\bin\Debug\MaxBridgePlugin.*" "Plugins\" 
" exited with code 1. MaxBridgeImporterPlugin 

गूगल पर परिणाम सुझावों की एक भ्रामक मिश्रण है कि दृश्य स्टूडियो ईवीएस का समर्थन नहीं करता हैं मिलता है, दृश्य स्टूडियो समर्थन ईवीएस करता है, दृश्य स्टूडियो की जरूरत% ..% और विजुअल स्टूडियो $ (..) की आवश्यकता है - और इनमें से कोई भी मेरे कंप्यूटर पर काम नहीं कर रहा है।

विजुअल स्टूडियो में मेरे पर्यावरण चर का उपयोग करने का सही तरीका क्या है?

(हां, निर्देशिका मौजूद है, और कारण मैं स्पष्ट रूप से पथ को सेट नहीं करना चाहता हूं, मैं इस परियोजना को साझा करने की तैयारी कर रहा हूं, और प्रत्येक चरण को डाउनलोड करने के बाद और निर्माण से पहले हर कदम उठाना है और एक और बाधा है ।)

+1

क्या आप विजुअल स्टूडियो को व्यवस्थापक के रूप में चलाते हैं? –

+0

@ जेनहोमिनल, मैंने अभी कोशिश की लेकिन दुर्भाग्य से इससे कोई फर्क नहीं पड़ता। – sebf

+0

बनाम 2010 में% var% के बाद मेरे निर्माण के लिए काम करता है। – rene

उत्तर

2

यह परियोजना के 'बिल्ड इवेंट' की पोस्ट-बिल्ड सेटिंग में मेरे लिए काम करता है।

echo %CodeContractsInstallDir% 
echo %DXSDK_DIR% 
echo "%ONLYME%" 

ONLYME मेरी प्रोफ़ाइल के उपयोगकर्ता चर में एक पर्यावरण var है।

अन्य सिस्टम वाइड वर्र्स हैं।

अगर मैं व्यवस्थापक के रूप में वीएस -2010 शुरू करता हूं तो ओएनएलईएमई खाली रहता है, सिस्टमवार्स के पास अभी भी मूल्यों की अपेक्षा होती है।

मैं V2010 SP1

+0

उस पर आधारित धन्यवाद मैंने पाया है कि '3DSMaxInstallDirectory' काम नहीं करता है, लेकिन '_3DSMaxInstallDirectory' करता है। मेरा मानना ​​है कि सीपीयूज़ में '%' से '% 25' से बचने वाले विजुअल स्टूडियो के कारण, जब पार्सड "% 253" और "डीएसएमएक्स ..." बन जाता है। – sebf

0

दृश्य स्टूडियो ठीक से एन्कोड नहीं करता/एक्सएमएल कॉन्फ़िग फ़ाइल में डिकोड "विशेष" पात्रों पर हूँ। मैं यूआरएल (http://www.w3schools.com/tags/ref_urlencode.asp) के रूप में मैन्युअल रूप से कमांड से बचकर उम्मीद के रूप में काम करने में सक्षम हूं।

एक आउटपुट लॉग में
ECHO %CD% 

परिणाम:

ECHO %25CD%25 
+0

मेरा मानना ​​है कि गुम होने वाला एन्कोडिंग तब होता है जब आप जीयूआई के माध्यम से कस्टम कमांड दर्ज करते हैं (बेशक आपको अपना एन्कोड करना होगा यदि आपका संपादन .vcxproj फ़ाइल है)। यदि आप वोट देना चाहते हैं; एक टिप्पणी छोड़ें। मुझे यह समस्या थी और इस तरह मैंने इसे ठीक किया। संपादित करें: एन्कोडिंग के साथ/बिना परिणामों को स्पष्ट करें। – whitey04

2

'%' चरित्र MSBuild द्वारा आरक्षित है, तो:

Target "PreBuildEvent" in file "blahblahblah" 
    Task "Exec" 
     Command: 
     ECHO %CD% 
     C:\blah\blah\blah\Debug 
    Done executing task "Exec". 

हालांकि, यूआरएल का उपयोग कर परियोजना proerties संवाद में निकल जाता है काम करने के लिए प्रकट होता है MSDN में दस्तावेज के रूप में आपको इसे %25 हेक्साडेसिमल एस्केप अनुक्रम द्वारा प्रतिस्थापित करना होगा।

copy "$(TargetDir)$(TargetName).*" "%253DSMaxInstallDirectory%25\Plugins" वास्तव में काम करना चाहिए। हालांकि: विजुअल स्टूडियो का कमांडलाइन संपादक इसे सही तरीके से प्रदर्शित करता है, लेकिन एमएसबिल्ड फिर %253 गलत तरीके से व्याख्या करता है। मैं यह नहीं बता सकता कि यह एक बग या फीचर है लेकिन आपको अपने पर्यावरण चर के नाम को अंक के साथ शुरू नहीं करना चाहिए।

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

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