كيفية القيام بما يلي: عرض قائمة لعناصر مفصولة بالفاصلة
عند العمل مع العنصر lهوts في Microsoft Build Engine(MSBuild) ، هو محتويات تلك المفيد في بعض الأحيان dهوplay العنصر lهوts بطريقة التي هو سهلة القراءة. أو، قد يكون لديك مهمة تستغرق قائمة من عناصر المفصولة مع سلسلة فاصل خاص. في كل من هذه الحالات، يمكنك تعيين سلسلة فاصل لعنصر قائمة.
فصل عناصر في قائمة مع الفاصلة
بشكل افتراضي، MSBuildيستخدم الفاصلة المنقوطة إلى فصل عناصر في قائمة. ل مثال، خذ بعين الاعتبار Messageالعنصر ذي القيمة التالية:
<Message Text="This is my list of TXT files: @(TXTFile)"/>
عند @(TXTFile)lهوt عنصر يحتوي على عناصر App1.txt و App2.txt App3.txt، الرسالة هو:
This is my list of TXT files: App1.txt;App2.txt;App3.txt
إذا كنت تريد إلى تغيير سلوك الافتراضي، يمكنك تحديد separaإلىr الخاص بك. بناء الجملة لتعيين فاصل lهوt عنصر هو:
@(ItemListName, '<separator>')
فاصل يمكن أن يكون حرف مفرد أو سلسلة ويجب أن تتم إحاطتها بعلامات اقتباس مفردة.
إلى إدراج فاصلة ومسافة بين عناصر
تدوين استخدام العنصر مشابهة إلى ما يلي:
@(TXTFile, ', ')
مثال
في هذا المثال، تشغيل مهمة Exec أداة findstr للبحث عن سلاسل نص المحدد في ملف، Phrases.txt. تتم الإشارة السلاسل الحرفية للبحث في الأمر findstr، بواسطة **/c:**التبديل، ذلك الفاصل العنصر، /c:هو إدراجها بين عناصر في @(Phrase)lهوt العنصر.
لترتيب هو سبيل المثال، أمر سطر الأوامر المكافئ هو:
findstr /i /c:hello /c:world /c:msbuild phrases.txt
<Project DefaultTargets = "Find"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003" >
<ItemGroup>
<Phrase Include="hello"/>
<Phrase Include="world"/>
<Phrase Include="msbuild"/>
</ItemGroup>
<Target Name = "Find">
<!-- Find some strings in a file -->
<Exec Command="findstr /i /c:@(Phrase, ' /c:') phrases.txt"/>
</Target>
</Project>