BuildBot C ++ Build على Windows: استخدم devenv.com أو vcbuild.exe أو msbuild.exe؟

StackOverflow https://stackoverflow.com/questions/2245078

سؤال

تم تشغيل Buildbot لمدة 3 سنوات باستخدام Devenv.com لتجميع المشاريع على Windows.

الآن devenv.com لديه مشاكل لبناء 64 بت نسخ: تمرير التكوين ك "تصحيح | x64" يولد أخطاء سطر الأوامر بسبب حرف الأنابيب. يؤدي الهروب والمضمون بين علامات الاقتباس إلى أخطاء أخرى، بعضها بسبب المسافات في أسماء الدليل، بعضها بسبب سطر الأوامر بشكل غريب.

جربت كل من vcbuild.exe، و msbuild.exe. يعمل vcbuild.exe تماما: أود التمسك به. msbuild.exe، على الجانب الآخر، لديه إخراج غريب ومعقد تماما أن زملاء العمل يشعرون فظيعين. لكنه توصف في كل مكان ال طريقة للبناء.

السؤال هو: أي من devenv.com، vcbuild.exe، و msbuild.exe هو الطريقة التي من المرجح أن تستمر في الوقت المناسب؟

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

المحلول

MSBUILD (قبل Visual Studio 2010 / .NET 4) لا يتم إنشاء مشاريع C ++. يستدعي إلى vcbuild.exe. لذلك إذا كنت سعيدا بعدم استخدام Msbuild، فسأتمسك بذلك لمشاريع C ++. بالنسبة للمشروعات المدارة (ولل C ++ باستخدام VS 2010) استخدم MSBUILD.

نصائح أخرى

Msbuild هي الطريقة "الأكثر احتمالا أن تستمر". vcbuild.exe ميت؛ كان الإصدار الأخير هو 2008. ستظل MSBUILD 4.0 استخدامها، إذا كانت تحتاج إلى إنشاء مشروع VC من VS2008 أو إصدار سابق. بالنسبة إلى Devenv.exe - بالطبع، فهو فقط وظيفيا هو نفسه مثل ضرب بناء في مقابل هذا يعني أن هذه الأيام، إنه فقط تسليم msbuild، ولكن في بعض الأحيان مع توازي أقل مما سيحصل عليه Msbuild.exe. السبب الرئيسي قد لا يزال يتعين عليك استخدام مشاريع devenv.exe .vdproj (نشر). هذه الأشياء القديمة لها عملية بناء بجد مشفرة في مقابل أوصي بديلا مثل WIX أو InstallShield التي تعتمد msbuild. ليس لفترة طويلة الآن حتى يتم إنشاء كل شيء في VS هو MSBUILD.

باختصار - Msbuild هو المستقبل، واستخدامه إلا إذا كان لديك مشاريع النشر أو غيرها من الظروف الخاصة.

دان

ركضت في نفس المشكلة، وحلها بواسطة Windows-Shell-Hazaping من حرف الأنابيب:

"Debug^|Win32"

لا يعرف msbuild.exe (لم يفعل ذلك؟) كيفية بناء مشاريع الإعداد. devenv.exe يفعل.

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