سؤال

أعتقد أن معظم الناس هنا يفهمون أهمية الإصدارات المؤتمتة بالكامل.

تكمن المشكلة في أن أحد مشاريعنا يستخدم الآن مشروع إعداد Visual Studio متكامل (vdproj) وتم نقله مؤخرًا إلى Visual Studio 2008.لسوء الحظ، لن يتم إنشاء هذه البرامج في MSBuild وسيتعطل الاتصال بـ devenv.exe /build في 2008، ويبدو أنه يفعل ذلك على جميع أجهزة الكمبيوتر متعددة النواة (!!!).إذن لدي الآن خيار العودة إلى .Net 2.0 و2005 أو ببساطة التخلص من نشر Visual Studio، لكن أولاً، أود الحصول على رأي ثانٍ.

هل يعرف أي شخص طريقة آلية أخرى لإنشاء ملف .vdproj الذي لن يتطلب منا فتح IDE والنقر فوق الأشياء؟


كان WiX هو ما كان يدور في ذهني عندما قلت أننا سنتخلى عن vdproj.هل لديك أي خبرة في ذلك، الأشياء الجيدة، التحذير؟

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

المحلول

الحل منخفض التكلفة هو التبديل إلى استخدام ClickOnce، والذي يمكنك تشغيله تلقائيًا باستخدام MSBuild.ولكن إذا كنت لا تزال بحاجة إلى إنشاء حزمة Windows Installer، فستحتاج إلى تحويل مشروعك إلى WiX (الأمر السهل جدًا) وإنشاء ذلك باستخدام الحل الخاص بك.

هذه ستجعلك تبدأ:أتمتة الإصدارات باستخدام MSBuild وWindows Installer XML

نصائح أخرى

لقد استخدمت WiX قليلًا من قبل، وبشكل عام وجدت أنه أمر رائع بمجرد معرفة ما يجب فعله ولكن هناك منحنى تعليمي حاد.إذا أمضيت يومًا كاملاً في الاطلاع على البرنامج التعليمي لـ WiX، فمن المفترض أن تكون قادرًا على إنجاز 80% من عملية الإعداد.

البرنامج التعليمي لمجموعة أدوات WiX

كان لدي نفس المطلب وانتهى بي الأمر باستخدام ما هو مقترح في هذين الرابطين

مدونة ديفيد ويليامز

مقالة MSDN

في الأساس، نظرًا لأن Team Build، في حد ذاته، لن يبني مشاريع الإعداد لك، فإن هذا الأسلوب يجعلك تضيف خطوة بناء جديدة بعد اكتمال البناء العادي.تطلق هذه الخطوة إنشاءًا ثانيًا عن طريق تشغيل devenv.exe.سيقوم IDE ببناء ملفات الإعداد الخاصة بك.يعد البناء الإضافي مكلفًا بعض الشيء ولكننا كنا بحاجة إليه فقط للبنيات التي سيتم طرحها.سيحتاج الإصدار اليومي على الأكثر إلى هذا التخصيص الذي لا يحتاجه إصدار CI الخاص بنا لإنشاء ملفات الإعداد في كل مرة.

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

يبدو الأمر أشبه بالخدعة في البداية، لكنه يعمل بالفعل، وهو أيضًا جزء كامل من البناء الآلي في نظام الفريق، لذا فقد نجح في تحقيق أهداف التكامل المستمر الخاصة بي.

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