2010-01-27 9 views
6

मुझे in this post वर्णित एक के लिए एक बहुत ही समान परिदृश्य मिला है। यह वर्णन करता है कि एक फ़ाइल की सामग्री को लोड करने के लिए जिसमें & आइटम शामिल हैं, यह सुनिश्चित कर लें कि वे प्रक्रिया के हिस्से के रूप में हल हो जाएं। मैं सामग्री को अन्य टेक्स्ट फ़ाइल (आमतौर पर .ini फ़ाइल) में लिखने के अलावा एक ही चीज़ कर रहा हूं।एमएसबिल्ड - फाइलों के लिए एस्केप अक्षरों को लिखना

कम मैं एक परियोजना/propertygroup जो इस पाठ शामिल आयात द्वारा शुरू कर दूँ में:

; -----------

[शीर्षक]

setting1 = $ (FirstValue)

setting2 = $ (SecondValue)

setting3 = सूची; की; मूल्यों; सीमांकित; द्वारा; अर्धविराम

setting4 = bla bla bla

; -----------

& उम्मीद है कि यह निम्नलिखित वाली एक नई .ini फ़ाइल को दूर लिखें:

; -----------

[शीर्षक]

setting1 = MSBuild

setting2 द्वारा हल मूल्य = एक और मूल्य MSBuild द्वारा हल

setting3 = सूची; की; मूल्यों ; सीमांकित; द्वारा; अर्धविराम

setting4 = bla bla bla

; -----------

केवल समस्या यह है कि कुछ फ़ाइलों में अर्धविराम होगा। मैं टिप्पणियों के बिना जी सकता हूं, लेकिन वे मूल्यों के हिस्से के रूप में भी उपयोग किए जाते हैं उदा। सूचियों में यह WriteLinesToFile कार्य का उपयोग करने का परिणाम है। अर्धविरामों को बचने वाले पात्रों के रूप में माना जाता है & परिणामस्वरूप नई लाइनें होती हैं, इसलिए उपर्युक्त उदाहरण में 'सेटिंग 3' का मान 6 लाइनों से विभाजित किया जाएगा।

क्या मेरे पास अपना काम लागू किए बिना इस तरह का कोई तरीका है?

मदद के लिए अग्रिम धन्यवाद!

उत्तर

5

मेरे पास एक समान स्थिति थी, लेकिन केवल WriteLinesToFile कार्य में अर्द्ध-कॉलन युक्त स्थिर टेक्स्ट का उपयोग करना। मुझे अर्ध-कॉलन के लिए एक बचने वाले चरित्र के रूप में% 3 बी का उपयोग करके काम करने के लिए मिला।

यदि आप सेमी-कॉलन इन-मेमोरी वैल्यू में ठीक से दिखने के लिए प्राप्त कर सकते हैं (इसे देखने के लिए संदेश कार्य का उपयोग करें) तो आपको फाइल को लिखने के लिए उन्हें% 3B से प्रतिस्थापित करने की आवश्यकता हो सकती है।

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