मुझे अपने निर्माण को स्क्रिप्ट करने की आवश्यकता है। मैं MSBUILD का उपयोग कर रहा हूं क्योंकि यह VS.net के साथ एकीकरण है। मैं बिल्डिंग वातावरण से कुछ फ़ाइलों को तैनाती फ़ोल्डर में कॉपी करने की कोशिश कर रहा हूं। मैं एमएसबिल्ड के कॉपी कार्य का उपयोग कर रहा हूं। लेकिन निर्देशिका पेड़ की प्रतिलिपि बनाने की बजाय मैं अपेक्षा करता हूं। यह सभी सामग्रियों को एक फ़ोल्डर में कॉपी करता है। मैं एक फ़ोल्डर में निर्देशिका पेड़ से सभी फाइलों को दोहराता हूं। मुझे फ़ोल्डर फ़ोल्डर में फ़ोल्डर और निर्देशिका के पेड़ की प्रतिलिपि बनाने की आवश्यकता है। क्या मुझे कुछ याद आ रही है?एमएसबिल्ड कॉपी क्यों नहीं करता है क्योंकि मुझे उम्मीद है कि
यहाँ अपने निर्माण स्क्रिप्ट के प्रासंगिक भागों है:
<PropertyGroup>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<Source>outputfolder</Source>
<DestEnv>x</DestEnv>
<DeployPath>\\networkpath\$(DestEnv)</DeployPath>
</PropertyGroup>
<ItemGroup>
<TargetDir Include="$(DeployPath)\**\*" Exclude="**\web.config"></TargetDir>
<SourceDir Include="$(Source)\**\*" />
</ItemGroup>
<Target Name="Clean" >
<!-- clean detail ... -->
</Target>
<Target Name="migrate" DependsOnTargets="Clean">
<Copy DestinationFolder="$(DeployPath)" SourceFiles="@(SourceDir)" />
</Target>
<कॉपी SourceFiles = "$ (SourceViewsLocation)" DestinationFolder = "$ (RepositoryLocation) \% (RecursiveDir)"> त्रुटि देता है आइटम मेटाडाटा% (RecursiveDir) एक बिना संदर्भित किया जा रहा है वस्तु का नाम। % (Itemname.RecursiveDir) का उपयोग करके आइटम का नाम निर्दिष्ट करें। –
मेरे पास कोई संकेत नहीं है कि –
पर क्या चल रहा है बग तय होना चाहिए ... गंतव्य के मूल्य के लिए वैकल्पिक वाक्यविन्यास: गंतव्य फ़ॉल्डर = "@ (संकलन -> 'सी: \ foocopy \% (रिकर्सिव डीआईआर)') – Adam