2011-02-11 10 views
24

मैं के साथ कमांड लाइन से MSBuild चल रहा हूँ निम्नलिखित:MSBuild -p: outputdir = c: mydir अनदेखा किया जा रहा

msbuild mysolution.sln -p:outputdir=c:\mydir 

जब मैं इस चलाने के लिए, outputdir पर ध्यान नहीं दिया जा रहा है और डिफ़ॉल्ट में निर्दिष्ट csproj फ़ाइल का उपयोग किया जा रहा है।

इस टूल के लिए एमएसडीएन दस्तावेज़ कहता है कि मुझे इस पैरामीटर का उपयोग करके बिल्ड निर्देशिका को ओवरराइड करने में सक्षम होना चाहिए। मैं क्या गलत कर रहा हूं?

+1

मैंने/p के बजाए -p का उपयोग करने के साथ यहां एक त्रुटि की। एमएसबील्ड कमांड लाइन संदर्भ (http://msdn.microsoft.com/en-us/library/ms164311.aspx) के लिए एमएसडीएन डॉको गलत तरीके से outputdir को संदर्भित करता है। – Mike

+0

आपको इसके बजाय अपनी टिप्पणी और उत्तर देना चाहिए। –

उत्तर

61

आप OutputPath का उपयोग करना चाहिए और अधिक महत्वपूर्ण है कि आप सही सिंटैक्स का उपयोग करना चाहिए:

msbuild mysolution.sln /p:OutputPath=c:\mydir 
+0

इस पर आपकी सहायता के लिए धन्यवाद। मुझे लगता है कि जब आप सिंटैक्स समस्या का संदर्भ देते हैं तो आप के बजाय/p का मतलब है। मैं वास्तव में cmd.exe में/p का उपयोग कर रहा था लेकिन इसे यहां गलत पाया - बहुत अधिक PowerShell। आउटपुटपाथ के लिए, पर मृत। धन्यवाद। – Mike

+0

यह मेरे लिए भी काम करता था .. मैं usint/p था: outputdir के बजाय/p: outputpath –

+2

समाप्ति '\' को छोड़ने के लिए सुनिश्चित करें।'/ p: आउटपुटपैथ = सी: \ mydir' और नहीं '/ p: आउटपुटपैथ = सी: \ mydir \' –

2

मुझे विश्वास है कि आपको आउटपुटपाथ का उपयोग करना चाहिए।

8

ध्यान दें कि OutputPath को OutDir से अधिक पसंद किया गया है। दस्तावेज इस बारे में गलत था, लेकिन मुझे लगता है कि उन्होंने अंततः इसे ठीक कर दिया है।

इसके अलावा, यह कहना मुश्किल है कि समस्या क्या है, क्योंकि आपने पैरामीटर के रूप में पारित सटीक पथ नहीं दिखाया है।

  1. OutputPath विकल्प के लिए परियोजना निर्देशिका को आउटपुट निर्देशिका रिश्तेदार पथ निर्दिष्ट करता है: इसके दो संभावित समस्याओं है कि मैं कल्पना कर सकते हैं कर रहे हैं। इसका मतलब है कि आप इसे C:\mydir जैसे वैश्विक पथ पर सेट नहीं कर सकते हैं। मुझे लगता है कि यह आपके द्वारा निर्दिष्ट पथ को खोजने में असमर्थ है, और इसलिए यह आपकी प्रोजेक्ट फ़ाइल में निर्दिष्ट एक को डिफ़ॉल्ट करता है।

  2. यदि पथ वास्तव में पैरामीटर के रूप में निर्दिष्ट करने वाला पथ रिक्त स्थान है, तो आदेश विफल होने की संभावना है। मेरा मानना ​​है कि आपको उद्धरण में पथ लपेटने और पथ स्ट्रिंग के अंत में अतिरिक्त बैकस्लैश जोड़ने की आवश्यकता है।

+0

आपकी सभी मदद कोडी के लिए धन्यवाद। मैं जो दस्तावेज़ पढ़ रहा हूं (वीएस 2010 के लिए एमएसबिल्ड कमांड लाइन संदर्भ: http://msdn.microsoft.com/en-us/library/ms164311.aspx) आउटपुटडियर का उपयोग करता है। मैं कहूंगा कि हम अलग-अलग पेज पढ़ रहे हैं। मैंने अब पूर्ण निर्देशिका संदर्भ का उपयोग करके सफलतापूर्वक बनाया है, जैसे c: \ mydir। – Mike

+0

@ माइक: ये चीजें तब होती हैं जब आप कई अलग-अलग स्थानों में सटीक समानताओं को दस्तावेज करते हैं। मुझे सच में यकीन नहीं है कि आप कह रहे हैं कि 'आउटपुटपाथ' आपके लिए काम नहीं करता है? 'आउटडियर '* * अभी भी काम करेगा। –

+2

GUYS। कोई 'आउटपुटडियर' पैरामीटर नहीं है। केवल 'आउटपुटपाथ' और 'आउटडीर' है। भ्रम में जोड़ना बंद करो। –

1

मैं MSBuild कमांड लाइन के लिए OutDir कॉन्फ़िगर करने के लिए कर रहा था। आदेश के साथ नीचे दिए गए लिंक पर मेरा उत्तर देखें। मेरा उत्तर देखें https://stackoverflow.com/a/26477048/1006422

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