क्रिस के उत्तर का उपयोग करने वाले मुद्दों के लिए , यह विज़ुअल स्टूडियो 2012 और नए के लिए समाधान है:
<Target Name="ContentsBeforeBuild" AfterTargets="BeforeBuild">
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>
</Target>
जैसा कि क्रिस ने अपने जवाब में उल्लेख किया है - विज़ुअल स्टूडियो इस खंड को नहीं छूएगा <Target>
, भले ही आप मैन्युअल रूप से लक्ष्य निर्देशिका के साथ (फ़ाइलों को जोड़ने / हटाने) के आसपास फील करें।
कृपया ध्यान दें कि आपको एक उपनिर्देशिका शामिल करनी चाहिए जहां फाइलें स्थित हैं (ऊपर मामले में, यह है images
)। Visual Studio / MSBuild उन फ़ाइलों को प्रोजेक्ट संरचना में एक ही डायरेक्टरी में रखेगा। यदि आप एक उपनिर्देशिका का उपयोग नहीं करते हैं, तो फ़ाइलों को परियोजना संरचना के मूल में रखा जाएगा।
वाइल्डकार्ड की त्वरित व्याख्या के लिए:
**
मतलब सब कुछ पुनरावर्ती (फ़ाइलें, उपनिर्देशिका, और उन के भीतर फ़ाइलें)
*.ext
ext
शीर्ष-स्तरीय निर्देशिका में एक्सटेंशन वाली सभी फाइलें शामिल होंगी , लेकिन उपनिर्देशिकाएं नहीं
- उदाहरण के लिए,
*.ext
हो सकता है *.png
, *.js
आदि किसी भी फाइल एक्सटेंशन काम करेंगे
**\*.ext
ext
शीर्ष-स्तरीय निर्देशिका और सभी उपनिर्देशिकाओं से विस्तार के साथ सभी फाइलें शामिल होंगी ।
- उत्तर देखें कि मैं Nant / Ant नामकरण पैटर्न का उपयोग कैसे करूँ? उदाहरणों के साथ अधिक संपूर्ण विवरण के लिए।
पूरा करने के लिए, कृपया ध्यान दें कि इसका उपयोग करने <Target>
और न करने के बीच अंतर है।
<Target>
दृष्टिकोण के साथ , विज़ुअल स्टूडियो समाधान एक्सप्लोरर के भीतर फाइलों को नहीं दिखाएगा।
<Target Name="ContentsBeforeBuild" AfterTargets="BeforeBuild">
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>
</Target>
गैर- <Target>
दृष्टिकोण समाधान एक्सप्लोरर के भीतर फाइलों को दिखाने के लिए विजुअल स्टूडियो को निर्देश देगा । इस एक के साथ दोष यह है कि स्वचालित निर्देशिकाओं के किसी भी हेरफेर से वाइल्डकार्ड प्रविष्टि को ओवरराइड करने के लिए विजुअल स्टूडियो का कारण होगा। यह भी ध्यान दिया जाना चाहिए कि नीचे का दृष्टिकोण केवल वीएस में समाधान / परियोजना खोलने पर समाधान एक्सप्लोरर को अपडेट करेगा । यहां तक कि समाधान एक्सप्लोरर के "ताज़ा" टूलबार बटन ऐसा नहीं करेगा।
<ItemGroup>
<Content Include="images\**" />
</ItemGroup>