نشر سياسة مخصصة على TFS2010 باستخدام VSIX و PKGDEF

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

  •  30-09-2019
  •  | 
  •  

سؤال

أواجه جحيمًا من الوقت في محاولة للحصول على سياسة مخصصة للتثبيت على TFS2010 باستخدام VSIX.

لديّ السياسة وتشغيل وأعمل بشكل جيد على جهاز الكمبيوتر الخاص بي ، لقد كتبت قيمة للسجل يدويًا ، ويتم تنفيذ السياسة.

تتمثل المشكلة في إنشاء مشروع VSIX ونشر آلات التطوير الأخرى لدينا.

اتبعت التعليمات في:

http://blogs.msdn.com/b/jimlamb/archive/2010/03/31/how-to-implement-package-and-deploy-custom-check-in-policy-for-tfs-2010.aspx

يبدو أن الطريقة المفضلة هي استخدام نوع مشروع VSIX الجديد في VS 2010 ، وأضيف مشروع VSIX إلى الحل ، لكن الإرشادات الواردة في إدخال المدونة غامضة للغاية بشأن ما يجب القيام به بعد ذلك. أفهم أن ملف PKGDEF يعني أنه لا يوجد لديك قيمة للسجل عند النشر ، ويتم لف محتوى ملف PKGDEF في التكوين عند بدء تشغيل Visual Studio. هذا جيد ، ولكن كيف تقوم ببناء حزمة VSIX؟

لقد حاولت إضافة مشروع السياسة المخصصة إلى مشروع VSIX كنوع VS ، لكن عندما أقوم بإنشاء الخطأ: الهدف "PKGDEFProjectOutPutgroup" غير موجود في المشروع.

لقد حاولت إضافة DLL فقط ، ملف PKGDEF كنوع محتوى مخصص ، إلخ ، ولكن لا شيء يعمل.

لقد غيرت ملف PKGDEF في المدونة لمطابقة مشروعي الخاص.

عندما أقوم بتثبيت حزمة VSIX على جهاز تطوير ، يمكنني رؤية الوظيفة الإضافية في مدير الإضافات في Visual Studio ، ولكن عندما أتحقق من السياسات المخصصة في TFS ، أحصل على خطأ "غير مسجل".

أحتاج حقًا إلى خطوة بخطوة لإعداد مشروع VSIX لنشر سياسة مخصصة ، هل يمكن لأي شخص المساعدة؟

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

المحلول

منشور المدونة لديه بالتأكيد خطوة مفقودة. أعتقد أن ما قصده المؤلف هو إضافة ملف PKGDEF إلى مشروع VSIX (عبر محرر VSixManifest) كمحتوى من النوع VS. بعد ذلك ، أضف مرجعًا للمشروع إلى مشروع سياسة Checkin من مشروع VSIX الخاص بك (والذي سيؤدي إلى إضافة سياسة Checkin DLL إلى VSIX).

كملاحظة جانبية .... عندما تختار "VS Package" كنوع المحتوى ، ثم تشير إلى مشروع ... يجب أن يكون مشروعًا مناسبًا لـ VS (وليس فقط مكتبة فئة الفانيليا C#/VB).

نصائح أخرى

المشكلة هي اسم التجميع "DIRNANGE.CHECKINPOLICY.DLL"لا يتطابق مع الاسم في السياسات. pkgdef. لتصحيح هذا ، تأكد من أن سياساتك.

[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"TeamFoundation.Samples.CheckinPolicies"="$PackageFolder$\NArrange.CheckinPolicy.dll"

بالإضافة إلى ذلك ، أود تجنب المزيد من الالتباس عن طريق تغيير "اسم المنتج" في Source.Extension.VsixManifest to diser.checkinpolicy. وبهذه الطريقة ، ستطابق التجميع اسم المنتج في Extensions.

هناك مقال أفضل حول كيفية إنشاء مشروع VSIX للسياسات المخصصةhttp://geekswithblogs.net/terje/archive/2012/03/10/packaging-custom-checkin-policies-for-visual-studio-using-vsix.aspx

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