سؤال

هل يمكن تقسيم المعلومات في ملف .csproj على أكثر من ملف؟يشبه إلى حد ما إصدار المشروع من partial class ميزة.

هل كانت مفيدة؟

المحلول

لا يمكن أن يكون لديك أكثر من csproj رئيسي واحد.ولكن نظرًا لأن الأسلاك السفلية لـ csproj تتم باستخدام msbuild، فيمكنك ببساطة الحصول على عدة csproj جزئية تستورد بعضها البعض.سوف يرى ملف الحل أكثر من غيره مشتق com.csproj.

project1.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    ....
</Project>

project2.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="project1.csproj" />
    ...
</Project>

project.csproj - هذا هو المشروع الرئيسي المشار إليه بملف الحل.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="project2.csproj" />
    ...
</Project>

خلاصة القول هي أن استخدام msbuild يستورد الميزة التي يمكنك الحصول عليها هي ملفات csproj جزئية حيث يحتوي كل منها على تعريفات سيستخدمها المشروع الرئيسي (project.csproj في مثالي).


سوف يعرض Visual Studio ملف تحذير أمني ل مشروع مربع حوار عند فتح الحل أو ملف المشروع الذي تم تغييره.اختر الخيار تحميل المشروع بشكل طبيعي و اضغط نعم.عند فتح الحل مرة أخرى لاحقًا، لن يظهر التحذير بسبب التكوين تحميل المشروع بشكل طبيعي يتم تخزينها في suo ملف.

نصائح أخرى

نعم، يمكنك تقسيم المعلومات عبر عدة ملفات.يمكنك استخدام استيراد العنصر (MSBuild).

لاحظ أن Visual Studio سيعطيك تحذير أمني مزعج إذا كنت ستحاول فتح ملف المشروع الذي يتضمن ملفات المشروع الأخرى.

رابط مفيد من MSDN:

كيف:استخدم نفس الهدف في ملفات المشروع المتعددة

لاحظ أن الملفات الخارجية لها .الأهداف التمديد عن طريق الاتفاقيات.

وحسنا هل يمكن أن يكون العديد من المشاريع المشتركة في حل واحد كبير، ولكن لا أعتقد أن هذا هو تماما ما كان في الحسبان حيث أن كل مشروع يجب أن يكون مشروعا كاملا في هذه الحالة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top