سؤال

أثناء تقييم Visual Studio 2010 Beta 2، أرى ذلك في الدليل المحول، لي vcproj. الملفات أصبحت vcxproj. الملفات. هناك أيضا vcxproj.filter. الملفات جنبا إلى جنب مع كل مشروع يبدو أنه يحتوي على وصف لهيكل المجلد ( الملفات المصدر، ملفات رأس، إلخ).

هل تعتقد أن ملفات المرشح هذه يجب أن يتم الاحتفاظ بها لكل مستخدم، أو يجب أن تكون مشتركة عبر مجموعة DEV بأكملها وفحصها في SCC؟

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

الفائدة الواضحة هي أن هياكل المجلدات سوف تتطابق إذا كنت أبحث في آلة شخص آخر، ولكن ربما كانوا يرغبون في إعادة تنظيم الأمور منطقيا؟

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

المحلول

تخزن الإصدارات السابقة من Visual Studio (على الأقل الإصدارات 6.0 و 2008) تلك المعلومات في ملف مشروعها الخاص (.dsp و .vcproj على التوالي)، والتي بالطبع من الجيد أن تضيف إلى SCC.

لا أستطيع التفكير في أي سبب لعدم تضمين ملفات .filter هذه في SCC

نصائح أخرى

لقد سحبنا عمدا .filter. معلومات الملف من .vcproj عندما ترجمنا إلى تنسيق msbuild .vcxproj. أحد الأسباب هو بالضبط ما أشرت به، أن المرشحات هي طريقة عرض منطقية بحتة، وقد يرغب أعضاء الفريق المختلفة وجهات نظر مختلفة. والآخر هو أنه في بعض الأحيان يتم إعداد البناء للتحقق من زمن الطابع الزمني لملف المشروع، وتشغيل إعادة إنشاء إذا تم تغييره - لأن ذلك قد يعني أن هناك ملفات مصدر مختلفة لبناءها أو إعدادات مختلفة وما إلى ذلك. أذكر إذا قمنا بشحنها بالفعل مع الإصابة بالإشغال بهذه الطريقة، ولكن الفكرة كانت أننا لا نريد أن نؤدي بإعادة البناء ببساطة لأن المرشحات تغيرت، لأنها لا تؤثر على الإنشاء.

لقد وجدت أنك إذا كنت تستخدم Git، فيمكنك معالجة ملفات .filter ليتم التعامل معها كحادث للاندماج لجعله أكثر بساطة. فقط أضف الخط:

*.vcxproj.filters merge=union

إلى ملف .gitattributes الخاص بك.

يرى باستخدام .gitatatributes لتجنب دمج الصراعات لمزيد من التفاصيل.

لا ينبغي أن تضاف في حال كنت تستخدم CMake (أو أدوات بناء مشابهة) لتوليد الملفات مثل *.sln, *.vcxproj, *.vcxproj.filters إلخ، لأن هذه الملفات قد تحتوي على مسار كامل إلى مجلد المشروع الخاص بك وغيرها فقط مجلدات الكمبيوتر الخاصة بك.

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