سؤال

أود أن مزامنة VC++ 2010 المشروع مع VC++ 2008 واحدة.هل من الممكن ؟ أساسا لو انا إضافة/حذف/إعادة تسمية الملف إلى مشروع في VS2010 أود أن يكون إضافة/حذف/إعادة تسمية المقابلة VS2008 المشروع.المشروع خيارات المزامنة سيكون رائع جدا, ولكن ليس من الضروري.لا تحتاج إلى حل على مستوى تزامن أيضا.

تحرير:لقد قيل أن "دمج" ملفات المشروع في بناء المرة مع النص أو أداة.للأسف, VC++ مشروع تنسيق الملف قد تغير من VS2008 إلى VS2010 و لديهم شيء مشترك.لذا سؤالي هو أكثر مثل: هل هناك أداة هناك قادرة على دمج/تحويل بين vc9 و vc10 المشروع الملفات ؟ أنا قد أكتب أداة بلدي إذا لم يكن هناك أي طريقة أخرى لمعالجة هذا.

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

المحلول

في الشركة لدينا بالضبط نفس المشكلة و اختيار CMake.

على الأقل في محاولة على واحدة من المشاريع الخاصة بك, هذا هو الحل الأمثل لمشكلتك.

فإنه يسمح لوصف مشاريعنا مع تركيب بسيط في ملفات نصية ثم CMake يولد VS2005, VS2008 و VS2010 مشاريع من نفس الملفات.
بهذه الطريقة فقط Cmake يتم تعديل الملفات و جميع المشاريع التي يتم تحديثها في نفس الوقت.

باختصار CMake هو:
1.نظيفة
2.وصفي
3.الأم
4.آمنة

لأن:
1.كل الخيارات و تكوينات يمكن قراءة في الملفات ، وليس في العديد من الخصائص لوحات.
2.على CMake قواعد اللغة وبناء الجملة هي سهلة القراءة.
3.كل إنشاء مشاريع كاملة و مستقلة من CMake.
4.يمكنك استخدام عنصر تحكم مصدر المدير على CMake الملفات.

كان لدينا بعض الحلول من 50 مشروعا أو 20 مشروعا و كان هناك الكثير من العمل ، واحد من السبب كنا CMake لأننا في حاجة إلى العمل مع كسكودي على ماك على بعض المكتبات المشاريع التي هي الآن شائعة مقابل و كسكودي.
ولكن كان يستحق ذلك حتى بالنسبة إصدارات مختلفة من مقابل فقط.

نصائح أخرى

على غاليو OSS بناء المشروع باستخدام VS2010 في حين أن معظم المساهمين لا تزال تستخدم VS2008.للحفاظ على *.csproj الملفات متزامنة مع *.vs2010.csproj الملفات نستخدم بسيط النصي PowerShell الذي يعمل ينمرغ ضد كل زوج من ملفات المشروع.لا شيء معقد ، ولكن مفيد جدا.

يمكنك تحميل البرنامج النصي في مدونة جوجل.لتشغيله فقط اكتب الأمر التالي:

@echo off
powershell "& './Compare VS2010 Projects.ps1' -sync %*"

وآمل أن يساعد.

المصدر يساعد على التحكم هنا.لقد فعلت هذا من قبل مع الإصدارات السابقة من خلال جعل مطورة (VS2010) فرع ودمج التغييرات ذهابا وإيابا بين الجذع (VS2008).بينما بالتأكيد ليس سلس ، يعمل.

أنا لا أعرف إذا كان المشروع التغييرات في VS2010 من شأنها أن تجعل أي أفضل أو أسوأ من قبل!

أعتقد هو خيار سطر الأوامر لترحيل VS2008 ملف المشروع إلى VS2010.لذلك فإن خيار سوى الحفاظ على VS2008 و تجديد VS2010 المشاريع.سلبيات

  • عدم التمكن من دخول VS2010 محددة خيارات المشروع
  • أي تغييرات على VS2010 المشروع سيتم الكتابة و ليس دمجها مرة أخرى إلى VS20008.

يمكنك فقط الحفاظ على هذه الحل/ملفات المشروع بشكل منفصل.إذا كان عليك كتابة الإضافة يرجى اسمحوا لي أن أعرف!

ليس لدي 2010 مثبتا في العمل لذلك أنا ذاهب معظمها من الذاكرة هنا.القليل جدا قد تغير في ملف المشروع المخطط من عام 2005 إلى عام 2008 إلى عام 2010.بالنسبة للجزء الأكبر أنا ببساطة استخدام النص أداة مقارنة مثل WinDiff أو BeyondCompare إلى تسليط الضوء على التغييرات و نسخها من ملف واحد إلى آخر.أنا لم ألعب مع أي مشروع ويب أنواع, ولكن أفترض معظمها نفس التقنية.لأن في الأساس مخطط XML هو هل يمكن أيضا استخدام XML أداة رسم الخرائط للقيام بنفس المهمة.

لقد لاحظت عندما قمت بتحويل مشروع مفتوح المصدر الذي 2010 حقا لا أحب ClickOnce إعدادات المشروع.سيكون تحويل بخير لكن يطلب مني أن تحويل مرة أخرى في كل وقت لاحق فتحت المشروع.انتهى الأمر إلى إزالة ClickOnce المعلومات من ملف المشروع من أجل الحصول على ذلك أن تتوقف.

تحرير:تجربتي في الغالب على أساس C# المشاريع المخطط ، والتي لم تتغير كثيرا مع مرور الوقت.كما TheSamFrom1984 قد أشار إلى أن هناك بعض التغييرات الكبيرة في C++ المخطط الذي لم يجعل في وثائق MSDN على الإصدار 10 بعد.

Visual Studio 2010 يدعم متعددة تستهدف والتي سوف تسمح لك لتطوير باستخدام VS2010 و downtarget منصة أدوات V9 بحيث يمكنك استخدام أحدث الأدوات للحفاظ على المشروع الأكبر سنا.لماذا لا تفعل ذلك ؟

لأنه يأتي مع VS2010 و VS2008 C++ من خارج منطقة الجزاء ، هنا بعض المعلومات عن settingup VS2005 toolchain

http://weblogs.asp.net/israelio/archive/2009/10/20/enable-vs-2010-multi-targeting-also-for-vs2005-c.aspx

أنا فعلت هذا على وجه التحديد عندما VS 2008 خرج وكنا تقييم بينما بقية الفريق باستخدام VS 2005.لم أكن أريد أن ارتكاب أي من الشكل الجديد ملفات المشروع في مثل هذا أن كسر ذلك لبقية الفريق, لذا كتبت نصي صغير في روبي فقط بحثت عن كل .vcproj الملفات وإعادة تسمية لهم _2008.vcproj .أنا فعلت الشيء نفسه بالنسبة .sln الملفات أيضا البحث عن المراجع .vcproj في sln الملفات وإعادة تسمية هذا _2008.vcproj بحيث يشير المشاريع الجديدة.

المقبل, فقط تحميل جديد حل الملفات و "معالج الترحيل" لا شيء (أفترض VS 2010 واحد فقط مثل الإصدارات القديمة).هذا يتيح لك تشغيل كل إصدارات جنبا إلى جنب.إذا كان أي شخص آخر في الفريق يجعل أي تغييرات على المشروع القديم الملف ثم ببساطة إعادة تشغيل التحويل الخاص بك ثم يجب على المعالج أن ترحيل المشروع الذي تغير.

هناك المزيد من قرص قد تحتاج إلى إضافة إلى البرنامج النصي الذي هو تغيير OutputDirectory و IntermediateDirectory الحقول في الملف vcproj حتى أن كنت بناء على دلائل مختلفة جدا.إذا كنت تفعل ذلك فهذا يعني أنك يجب أن تكون قادرة على بناء مع أي إصدار من برنامج Visual Studio على نفس المصدر شجرة.

يجب أن يعامل VS2010 نسخ كفرع.كل بضعة أيام عند أي تغيير كبير (في انتظار اختبارات تمرير بالطبع) ، دمج التغييرات إلى الفرع الآخر.هذا هو اعتمادها على نطاق واسع و الممارسة المقبولة في المؤسسة بيئات البرمجيات.

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