عنصر Import (MSBuild)
استيراد محتويات إحدى ملفات المشروع في ملف مشروع آخر.
<Import Project="ProjectPath"
Condition="'String A'=='String B'" />
السمات والعناصر
تصف المقاطع التالية سمات، عناصر تابعة وعناصر الأصل.
السمات
السمة |
الوصف |
---|---|
Project |
سمة مطلوبة. مسار ملف المشروع ليتم استيراده. |
Condition |
السمة الاختيارية الشرط الذي سيتم تقييمه. لمزيد من المعلومات، راجع شروط MSBuild. |
العناصر التابعة
لا يوجد
العناصر الأصلية
العنصر |
الوصف |
---|---|
العنصر الجذري المطلوب في ملف المشروع MSBuild. |
ملاحظات
يتيح لك عنصر Import إعادة استخدام التعليمات البرمجية الشائعة في العديد من ملفات المشاريع. عند نقل كتل شائعة للتعليمات البرمجية إلى ملفات مشروع آخر يتيح لك إمكانية المحافظة على التعليمات البرمجية ونشر التغييرات في الموقع المركزي. على سبيل المثال، مشروع A و مشروع B يعينان العنصر المحدد وقيم الخصائص الخاصة في بنياتهم ويحتوي مشروع C على عمليات البناء الشائعة. يمكن لمشروع A ومشروع B استيراد مشروع C وأية تغييرات لعمليات البناء يتم إجراؤها على ملف واحد فقط.
يتم حفظ ملفات المشروع المستوردة الشائعة كملفات .targets بالاصطلاح لكنها ملفات مشاريع MSBuild قياسية. MSBuild لا يمنعك من استيراد مشروع بملحق مختلف لكن يوصى باستخدام الملحق .targets للتناسق.
كل المسارات النسبية في المشاريع المستوردة يتم تفسيرها بالنسية لدليل المشروع المستورد. لذلك، في حالة استيراد ملف مشروع في عدة ملفات مشروع في مواقع مختلفة، سيتم تفسير المسارات النسبية في ملف المشروع المستورد بشكل مختلف لكل مشروع تم استيراده.
كل خصائص MSBuild المحجوزة التي تتعلق بملف المشروع، على سبيل المثال، MSBuildProjectDirectory و MSBuildProjectFile، التي يتم الرجوع إليها في المشروع المستورد يتم تعيين قيم لها استناداً إلى ملف مالمشروع المستورد.
إذا لم يكن للمشروع المستورد سمة DefaultTargets يتم فحص المشاريع المستوردة بالترتيب الذي يتم استيرادها ويتم استخدام قيمة اول سمة يتم اكتشافها DefaultTargets. على سبيل المثال، إذا استورد مشروع A مشروع B و مشروع C (في هذا الترتيب)، واستورد مشروع B مشروع D، يقوم MSBuild أولاً بالبحث عن DefaultTargets المحدد في مشروع A ثم مشروع B ثم D وأخيراً مشروع C.
يماثل مخطط المشروع المستورد المشروع القياسي. من الممكن أن يكون MSBuild قادراً على بناء مشروع مستورد ولكن هناك احتمال في الفشل لأنه لا يحتوي المشروع المستورد عادةً على معلومات حول أي الخصائص ليتم وضعها أو الترتيب الذي به سيتم تشغيل الأهداف. المشروع المستورد يعتمد على المشروع الذي إليه يتم الاستيراد لتوفير تلك المعلومات.
ملاحظة |
---|
بينما تعمل عبارات الاستيراد الشرطي في MSBuilds ذات سطر الأوامر، إلا أنها لا تعمل مع MSBuild المستضافة في بيئة التطوير المتكاملة (IDE) Visual Studio.يتم تقييم الاستيراد الشرطي باستخدام القيم الافتراضية للتكوين وللنظام الأساسي الموضوعة عند تحميل المشروع. إذا تم لاحقاً إجراء تغييرات تتطلب إعادة تقييم للمشروطات في ملف المشروع (مثل تغيير النظام الأساسي) Visual Studio يعيد تقييم الشروط على الخصائص والعناصر ولكن لا يتم الاستيراد.لأنه لم يتم إعادة تقييم المشروط المستورد، يتم تخطي الاستيراد. للتغلب على هذه الأمور، ضع الاستيرادات الشرطية في ملفات .targets أو ضع لبتعليمات البرمجية في كتل شرطية مثل كتلة عنصر Choose (MSBuild). |
مثال
يظهر مثال التعليمات البرمجية التالي مشروع يعين عدة عناصر وخصائص ويقوم باستيراد ملف مشروع عام.
<Project DefaultTargets="Compile"
xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<resourcefile>Strings.resx</resourcefile>
<compiledresources>
$(O)\$(MSBuildProjectName).Strings.resources
</compiledresources>
</PropertyGroup>
<ItemGroup>
<CSFile Include="*.cs" />
<Reference Include="System" />
<Reference Include="System.Data" />
</ItemGroup>
<Import Project="$(CommonLocation)\General.targets" />
</Project>
راجع أيضًا:
المهام
كيفية القيام بما يلي: استخدم الهدف نفسه في ملفات مشروع متعددة