‏‫Visual Studio التكامل (‏‫MSBuild)

Visual Studio 2005الأجهزة المضيفةMSBuildإلى تحميل وبناء مشاريع المدارة. لأن MSBuildهو المسؤولة عن المشروع، تقريبا أي مشروع في MSBuildيمكن أن يتم استخدام تنسيق بنجاح في Visual Studio، حتى إذا كان المشروع تم كتبها أداة مختلفة وعلى المخصصة إنشاء العملية.

يصف هذا pic إلى جوانب معينة من Visual Studioل MSBuildالاستضافة التي تعتبر متى مشاريع cusإلىmizing و.targets الملفات التي تحتاج إلى تحميل وبناء Visual Studio. هذه سوف تساعدك في اتخاذ من Visual Studioمثل ميزات التحسس الذكي و تصحيح العمل مشروع المخصصة.

اسم ملف مشروع ملحقات

يتعرف ‏‫MSBuild.exe أي اسم ملف مشروع ملحق مطابقة نقش. * proj. ومع ذلك، Visual Studioفقط على مجموعة فرعية ملف مشروع هذه اسم الملحقات التي تحدد النظام المشروع الخاص بهذه اللغة التي سيتم تحميل المشروع. Visual Studioلم يكن حيادي اللغةMSBuildعلى أساس مشروع النظام.

على سبيل المثال، #Visual Cمشروع النظام بتحميل الملفات.csproj، ولكن Visual Studioهو تعذر تحميل الملف.xxproj. ملف مشروع للملفات المصدر بلغة إجبارية يجب أن تستخدم نفس الملحق ك Visual Basicأو #Visual Cملفات المشروع إلى يمكن تم تحميلهه في Visual Studio.

الهدف أسماء معروفة

يؤدي النقر فوق بنية أمر في Visual Studioسوف ينفذ الهدف الافتراضي في مشروع. في أغلب الأحيان، هذا الهدف أيضا باسم Build. إعادة الإنشاء اختيار أو الأمر تنظيف ستحاول إلى ينفذ هدف بنفس الاسم في مشروع. سيتم تنفيذ النقر فوق ينشر الهدف باسم PublishOnlyفي مشروع.

التكوينات و الأنظمة الأساسية

التكوينات تتمثل في MSBuildمشاريع بواسطة تجميع الخصائص في PropertyGroupالعنصر الذي يحتوي على Conditionالسمة. Visual Studioيبحث في هذه الحالات بترتيب إلى إنشاء قائمة من التكوينات مشروع والأنظمة الأساسية إلى العرض. إلى استخراج هذه القائمة بنجاح، يجب أن يكون تنسيق مشابه للشروط إلى ما يلي:

Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "
Condition=" '$(Configuration)' == 'Release' " 
Condition=" '$(Something)|$(Configuration)|$(SomethingElse)' == 'xxx|Debug|yyy' "

Visual Studioقم بالبحث في الشروط تشغيلPropertyGroup,ItemGroup,Importوالخاصية، وعناصر العنصر لهذا الغرض.

بنية الاجراءات إضافى

Visual Studioيسمح لك إلى تغيير اسم العنصر نوع ملف في مشروع يحملبناء إجراء خاصية خصائص الملفالإطار. Compile,EmbeddedResource,Content، وNoneأسماء نوع العنصر دوماً المدرجة في هذه قائمة، بالإضافة إلى أي عنصر نوع أسماء غير ذلك موجود بالفعل في مشروع الخاص بك. للتأكد من أي أسماء أنواع العناصر المخصصة متوفر دوماً في هذه قائمة، يمكنك إضافة الأسماء إلى نوع عنصر المسمى AvailableItemName. على سبيل المثال، قم بإضافة ما يلي إلى ملف مشروع إلى إضافة نوع مخصص JScriptإلى هذه قائمة لكافة مشاريع التي تقوم باستيراده:

<ItemGroup>
    <AvailableItemName Include="JScript"/>
</ItemGroup>

ملاحظة

بعض أسماء نوع العنصر بخاصة إلى Visual Studioولكن لم يتم سردها في هذه القائمة المنسدلة.

في-عملية Compilers

عند الإمكان، Visual Studioسيحاول استخدام في-عملية إصدارات Visual Basicأو #Visual Ccompilers لزيادة الأداء. هذا العمل بشكل صحيح، يجب استيفاء الشروط التالية:

  • في هدف من مشروع، يجب أن يكون هناك مهمة المسمى Csc(for#Visual Cمشاريع) أو Vbc(forVisual Basicمشاريع)

  • UseHostCompilerIfAvailableيجب تعيين معلمة للمهمة إلى صواب.

  • دعم معلمة يجب تحديد قيم فقط. الجميع المعلمات المحددة في مهمة التي يدعمها برنامج التحويل البرمجي لقيد التشغيل، ولكن بعض قيم المعلمات غير معتمدة. Csc مهمة معلمة قيم التالية التي لا تدعمها #Visual Cفي-عملية برنامج التحويل البرمجي:

    • NoConfig:falseو قيم الفارغة غير معتمدة.

    • ResponseFiles: قيم غير فارغ غير معتمدة.

    • AdditionalLibPaths: قيم غير فارغ غير معتمدة.

    • AddModules: قيم غير فارغ غير معتمدة.

    • CodePage: قيم غير الصفرية غير معتمدة.

    • GenerateFullPaths:trueهو غير معتمد.

    • LinkResources: قيم غير فارغ غير معتمدة.

إذا لم تتحقق هذه الشروط، سيقوم على مشروع ترجمة المترجم سطر الأوامر بدلاً من استخدام في-عملية المترجم.

تصميم-الوقت التحسس الذكي

إلى الحصول على دعم خاصية التحسس الذكي في Visual Studioقبل أظهرها بناء تجميع إخراج، يجب تحقيق الشروط التالية:

  • يجب أن يكون هناك هدف باسم Compile.

  • أما Compileالهدف أو واحد تبعياته يجب استدعاء مهمة المترجم مشروع، مثل Cscأو Vbc.

  • أما Compileيجب أن يؤدي الهدف أو واحد تبعياته المحول البرمجي إلى تلقي الجميع المعلمات الضرورية لخاصية التحسس الذكي، خصوصا الجميع المراجع.

  • الشروط المذكورة في "في-عملية Compilers" يجب أن تتحقق المقطع.

إنشاء? حلول

داخل Visual Studio، ملف الحل ومشروع بنية يتحكم ترتيب Visual Studioنفسه. عند إنشاء? حل مع ‏‫MSBuild.exe تشغيل سطر الأوامر، MSBuildيوزع ملف الحل وترتيبات البنيات المشروع. في كلتا الحالتين مشاريع التي تم إنشاؤها على حدة في ترتيب تبعية، ومشروع إلى لم يتم traversed مراجع مشروع. وعلى العكس، عندما يتم إنشاء مشاريع فردية ب ‏‫MSBuild.exe، مشروع إلى هي traversed مراجع مشروع.

عند إنشاء داخل Visual Studio، خاصية $(BuildingInsideVisualStudio)هو التعيين إلى true. يمكن أن يستخدم هذا في ملفات مشروع أو.targets إلى تسبب الإنشاء إلى سلوكها.

عرض خصائص و العناصر

Visual Studioيتعرف على أسماء خصائص معينة و قيم. على سبيل المثال، خاصية التالية في مشروع سيؤدي تطبيقات Windows يظهر في المربع نوع تطبيق في مصمم المشروع .

<OutputType>WinExe</OutputType>

يمكن تم تحريره القيمة خاصية في مصمم مشروع و المحفوظة في ملف مشروع. إذا كانت مثل هذه الخاصية هو إعطاء قيمة غير صحيحة بواسطة ‏‏تحرير اليد، Visual Studioسوف تظهر رسالة تحذير عند مشروع هو تم تحميله وقم باستبدال القيمة غير صالحة باستخدام قيمة افتراضية.

Visual Studioيفهم افتراضيات لبعض خصائص. هذه الخصائص سوف لا تكون مستمرة في ملف مشروع إلا إذا كان لديها غير-الافتراضي القيم.

خصائص مع عدم عرض أسماء إجبارية في Visual Studio. إلى تعديل خصائص إجبارية في Visual Studio، يجب فتح ملف مشروع في ediإلىr XML وتحريرها باليد. لمزيد من المعلومات، راجع How to: Edit Project Files.

تكون عناصر المعرفة في مشروع باستخدام أسماء نوع العنصر إجبارية حسب الافتراضي عرض في "مستكشف الحلول" تحت عقدة مشروع الخاصة بهم. إلى إخفاء عنصر من عرض، قم بتعيين Visibleإلى بيانات التعريف false. على سبيل المثال، ستشارك العنصر التالي في الإنشاء عملية ولكن لا يتم عرض في "مستكشف الحلول".

<ItemGroup>
    <IntermediateFile Include="cache.temp">
        <Visible>false</Visible>
    </IntermediateFile>
</ItemGroup>

لا يتم عرض عناصر التي تم تعريفها في الملفات التي تم استيرادها إلى مشروع بشكل افتراضي. عناصر التي تم إنشاؤها من خلال بنية عدم عرض في "مستكشف الحلول" العملية.

الشروط تشغيل عناصر و خصائص

أثناء بنية، يتم مراعاة الجميع الشروط تماما.

عند تحديد قيم الخصائص إلى عرض خصائص هذا Visual Studioيعتبر تكوين التابعة يتم تقييمها بطريقة مختلفة عن خصائص يعتبر تكوين بشكل مستقل. خصائص يعتبر تكوين التابعة، Visual Studioيعين Configurationو Platformخصائص مناسب ويرشد MSBuildإلى re-evaluate مشروع. خصائص يعتبر تكوين مستقل، وغير معرفة كيفية تقييم الشروط.

دائماً يتم تجاهل التعبيرات الشرطية تشغيل عناصر بهدف تحديد ما إذا كان يجب عرض العنصر في "مستكشف الحل".

تصحيح الأخطاء

في ترتيب إلى البحث عن وقم بتشغيل تجميع الإخراج وإرفاق مصحح الأخطاء، Visual Studioيحتاج الخصائص OutputPath، AssemblyName، و OutputTypeالمعرفة بشكل صحيح. سوف تفشل مصحح الأخطاء إلى إرفاق إذا لم لا تتسبب عملية الإنشاء في المحول البرمجي إلى إنشاء ملف.pdb.

تنفيذ الهدف وقت التصميم

Visual Studioيحاول ينفذ الأهداف بأسماء معينة عند تحميل مشروع. These targets تضمينCompile,ResolveAssemblyReferences,ResolveCOMReferences,GetFrameworkPaths, وCopyRunEnvironmentFiles. Visual Studio runs these targets so that the compiler can be initialized إلى provide IntelliSense, the debugger can be initialized, و مراجع displayed في الحل مستكشف can be حل. If these targets are not موجود, the مشروع will تحميل و بنية correctly but the تصميم-الوقت تجربة في Visual Studio will not be fully functional.

‏‏تحرير ملفات مشروع في ‏‫Visual Studio

عند ذلك هو اللازمة لتحرير MSBuildمشروع مباشرة، يمكنك فتح ملف مشروع في Visual Studioمحرر XML. لمزيد من المعلومات، راجع How to: Edit Project Files.

التحقق من صحة و التحسس الذكي

عند استخدام محرر XML لتحرير ملفات مشروع "و" Intellهوense "و" التحقق من صحة هو بواسطة MSBuildملفات المخطط. هذه مثبتة بواسطة Visual Studioفي مخطط ذاكرة تخزين مؤقت، والذي يمكن العثور عليها في [ Visual Studioمجلد location]\Xml\مخططs التثبيت.

قلب MSBuildأنواع المعرفة في Microsoft.بنية.Core.xsd وشائعة أنواع المستخدمة من قبل Visual Studioالمعرفة في Microsoft.بنية.Commonأنواع.xsd. إلى cusإلىmize الرسوم تخطيطية حيث لديك خاصية التحسس الذكي والتحقق من صحة أسماء نوع العنصر cusإلىm وخصائص المهام، يمكنك أما تحرير Microsoft.بنية.xsd، أو بنية المخطط الخاص بك يحتوي على رسوم تخطيطية CommonTypes أو الأساسية. إذا قمت بإنشاء المخطط الخاص بك سيكون لديك إلى توجيه ediإلىr XML في إلى العثور عليه باستخدام الإطار خصائص.

‏‏تحرير ملفات مشروع المحملة

Visual Studioتقوم بتخزين محتوى ملفات مشاريع و مشروع الملفات التي تم استيرادها بملفات. إذا قمت بتحرير ملف مشروع تم تم تحميلهها، Visual Studioسيتم تعجيل بإعادة تم تحميله المشروع لكي تصبح التغييرات نافذة المفعول. ومع ذلك إذا قمت بتحرير ملف استيراده بواسطة مشروع محملة، لن يكون هناك بدون مطالبة بإعادة التم تحميله ويجب إلغاء تم تحميله وإعادة تم تحميله المشروع يدوياً إلى بالتغييرات نافذة المفعول.

المجموعات الناتجة

أهداف متعددة في Microsoft.عام.targets أسماؤها ينتهي ب OutputGroupsأو OutputGroupDependencies. Visual Studioهذه الأهداف باستدعاء إلى الحصول على قوائم معينة من مشروع الإخراجات. على سبيل المثال، SatelliteDllsProjectOutputGroupالهدف بإنشاء قائمة بكافة تجميعات القمر الصناعي بنية سينشئ. هذه إخراج تستخدم مجموعات بميزات مثل توزيع والتوزيع ومشروع إلى مراجع للمشروع. يتم تحميل مشاريع لا تعرف لهم و بنية في Visual Studio، ولكن قد لا تعمل بعض الميزات بشكل صحيح.

مرجع دقة

تم حل مرجع عملية استخدام sإلىred عناصر المرجع في ملف مشروع إلى موقع تجميعات الفعلي. Visual Studioيجب أن تقوم بتشغيل تحليل المرجع في ترتيب إلى إظهار خصائص مُفصل لكل مرجع فيخصائص الإطار. وتصف القائمة التالية الأنواع الثلاثة من مراجع و كيف تكون حل.

  • مراجع تجميع:

    استدعاءات النظام مشروع هدف مع اسم معروف ResolveAssemblyReferences. يجب أن ينتج هذا الهدف على عناصر مع العنصر اكتب اسم ReferencePath. هذه عناصر يجب أن يكون لكل هي مواصفة عنصر (القيمة Includeسمة لعنصر) الذي يحتوي على مسار كامل إلى مرجع. يجب أن يكون للعناصر الجميع بيانات التعريف من عناصر إدخال التي تم تمريرها من خلال بالإضافة إلى ما يلي جديد بيانات التعريف:

    • CopyLocal، تشير إلى ما إذا كان يجب نسخ تجميع في المجلد الخارج، تعيين إلى صواب أو خطأ.

    • OriginalItemSpec، التي تحتوي على مواصفات العنصر الأصلي من مرجع.

    • ResolvedFrom، التعيين إلى "{TargetFrameworkDirectory}" إذا كان حل من.NET Frameworkالدليل.

  • مراجع COM:

    استدعاءات النظام مشروع هدف مع اسم معروف ResolveCOMReferences. يجب أن ينتج هذا الهدف على عناصر مع العنصر اكتب اسم ComReferenceWrappers. يجب أن يكون كل من هذه عناصر هي مواصفة عنصر الذي يحتوي على مسار الكامل إلى تجميع التوافق COM مرجع. يجب أن تحتوي العناصر على الجميع بيانات التعريف من عناصر إدخال بتمريرها من خلال، بالإضافة في ذلك في بيانات التعريف الجديدة باستخدام الاسم CopyLocal، الذي يشير في ما إذا كان يجب نسخ تجميع في في تعيين مجلد الإخراج، في صواب أو خطأ

  • المراجع الأصلية

    استدعاءات النظام مشروع هدف مع اسم معروف ResolveNativeReferences. يجب أن ينتج هذا الهدف على عناصر مع العنصر اكتب اسم NativeReferenceFile. يجب أن تحتوي العناصر على الجميع بيانات التعريف من العناصر في وضع تمريرها من خلال، في إضافة إلى قطعة بيانات تعريف جديد باسم OriginalItemSpec، contaفيفيg origفيal العنصر مواصفات المرجع.

راجع أيضًا:

المرجع

عنصر العنصر (MSBuild)

خاصية عنصر (MSBuild)

عنصر هدف (MSBuild)

المهام csc

المهام Vbc

موارد أخرى

MSBuild Concepts