2011-02-25 19 views
17

से xml दस्तावेज़ फ़ाइलों को बाहर करने के लिए कैसे मैंने अपनी सी # परियोजनाओं में कई तृतीय पक्ष असेंबली का उपयोग किया। उनमें से कई में एक्सएमएल दस्तावेज़ फाइलें शामिल हैं जो मुझे विश्वास है कि मुझे इंटेलिजेंस दें? वैसे भी, जब मैं अपनी परियोजनाओं का निर्माण करता हूं तो उन एक्सएमएल फाइलें बिन फ़ोल्डर में समाप्त होती हैं। क्या उन्हें बाहर करने का कोई तरीका है ताकि वे मेरे ऐप के साथ तैनात नहीं हो सकें (उन स्थानों को हटाकर जहां मैं असेंबली का संदर्भ देता हूं)?msbuild

यह समस्या हमेशा मुझे खराब करती है लेकिन आगे बढ़ने के लिए पर्याप्त नहीं होती है। अब मेरे पास मेरे परिनियोजन फ़ोल्डर में 4 एमबी की एक्सएमएल फाइलें हैं और यह मुझे समाधान खोजने के लिए पर्याप्त परेशान कर रही है।

+2

के संभावित डुप्लिकेट [ संदर्भित असेंबली पीडीबी और एक्सएमएल फाइलों को आउटपुट में कॉपी किया गया है] (http://stackoverflow.com/questions/2011434/preventing-referenced-assembly-pdb-and-xml-files-copied-to-output) – ShawnFeatherly

उत्तर

-3

आप फ़ाइल पर दृश्य स्टूडियो का चयन करें गुण का उपयोग कर और "आउटपुट निर्देशिका में कॉपी" रहे हैं, तो = "कॉपी न करें"

+1

लेकिन फ़ाइल नहीं है मेरी परियोजना का हिस्सा यह एक तृतीय पक्ष असेंबली के समान फ़ोल्डर में बैठता है जो मेरे प्रोजेक्ट संदर्भ (जैसे log4net)। वीएस -2010 और एमएसबिल्ड को लगता है कि मैं इसे अपने ऐप के साथ तैनात करना चाहता हूं, यकीन नहीं कि क्यों। – BrettRobi

+0

क्या आप विजुअल स्टूडियो डिफ़ॉल्ट के साथ निर्माण कर रहे हैं? या कुछ अन्य उपकरण (टीमसिटी, टीमबिल्ड, आदि)? क्या आप तैनाती के लिए पैकेजिंग कर रहे हैं, या बस इमारत कर रहे हैं? –

+0

मैं msbuild, या वीएस 2010 यूआई का उपयोग कर रहा हूँ। दोनों भवन और पैकेजिंग में एक्सएमएल फाइलें शामिल हैं। ऐसा लगता है कि एमएसबिल्ड पाइपलाइन में जो भी प्रक्रिया तय करती है, तैनात बाइनरी के साथ कौन सी फाइलें संबंधित हैं, वह अपराधी है। – BrettRobi

11

आप नोटपैड में अपने csproj संपादित कर सकते हैं और के <PropertyGroup > भीतर अनुभाग <AllowedReferenceRelatedFileExtensions > जोड़ने वांछित विन्यास (मैं इसे दृश्य स्टूडियो csproj गुण विंडोज़ में करने में कामयाब नहीं रहा ...)
अगर आप इस खंड में .pdb जोड़ते हैं तो उदाहरण के लिए, केवल .pdb फ़ाइलों को बिन फ़ोल्डर में कॉपी किया जाएगा। मैं इसे

25

तुम भी कमांड लाइन के माध्यम से इस निर्दिष्ट कर सकते हैं मेरी तैनाती में केवल विधानसभाओं के लिए .none करने के लिए सेट:

MSBuild.exe build.file/p: AllowedReferenceRelatedFileExtensions = कोई भी

+0

मुझे आश्चर्य है कि यह क्वेरी के उत्तर के रूप में क्यों चिह्नित नहीं है !!! – Riju

+0

पूरी तरह से काम किया। जवाब के रूप में चिह्नित किया जाना चाहिए। –