2012-10-05 14 views
7

मेरे पास फाइलों के साथ एक फ़ोल्डर है जिसमें नाम App_Web_ से शुरू हो रहे हैं और .dll के साथ समाप्त हो रहे हैं। मुझे नहीं पता कि उन हिस्सों के बीच क्या है और मुझे फाइलों की संख्या पता नहीं है। मुझे उन फ़ाइलों को किसी अन्य फ़ोल्डर में स्थानांतरित करने के लिए MSBuild की आवश्यकता है।मैं मूव MSBuild कार्य और वाइल्डकार्ड का उपयोग करके फ़ाइलों का एक समूह कैसे चला सकता हूं?

तो मैं बना यह:

<Move 
    SourceFiles="c:\source\App_Web_*.dll" 
    DestinationFolder="c:\target" 
/> 

लेकिन जब लक्ष्य मैं निम्नलिखित आउटपुट प्राप्त चलाता है:

error MSB3680: The source file "c:\source\App_Web_*.dll" does not exist. 

फ़ाइलें निश्चित रूप से कर रहे हैं।

मैं क्या गलत कर रहा हूं? फाइलें कैसे चली गईं?

उत्तर

13

आप नियमित रूप से कार्य पैरामीटर में नियमित अभिव्यक्ति का उपयोग नहीं कर सकते हैं।

<ItemGroup> 
    <FilesToMove Include="c:\source\App_Web_*.dll"/> 
</ItemGroup> 

MSBuild यह कार्य निष्पादक को पार करने से पहले नियमित अभिव्यक्ति का विस्तार होगा: आप ले जाने और काम करने के लिए अपनी सामग्री पारित करने के लिए फ़ाइलों का एक आइटम युक्त सूची बनाने के लिए की जरूरत है। तो कुछ लक्ष्य में बाद में आप Move कार्य आह्वान हो सकता है: आरंभ काम ले जाएँ त्रुटि:: पंजीकृत नहीं काम Move`

<Target Name="Build"> 
    <Move 
     SourceFiles="@(FilesToMove)" 
     DestinationFolder="C:\target" 
    /> 
</Target> 
+0

मैं 'प्राप्त होने वाले त्रुटि – knocte

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

  • कोई संबंधित समस्या नहीं^_^