سؤال

في كل من بلدي صافي غيرها من تطبيقات عملية الإنشاء بلدي (خليط من نانت والعرف المهام) تلقائيا بتحديث [AssemblyVersionAttribute] AssemblyInfo.cs مع عدد الإنشاء الحالية قبل استدعاء msbuild، وختم في بناء عدد في رقم الإصدار.

وأعمل الآن في أول مشروع BizTalk بلدي وأود أن تفعل نفس الشيء مع أرقام إصدارات المجالس BizTalk، ولكني واجهت مشاكل!

يتم تخزين

وأولا وقبل كل أرقام إصدار aseembly في ملفات btproj، لذلك فعلت بعض غوغلينغ وجدت www.codeplex.com/biztalk الذي بدا وكأنه الحل لمشكلتي، ولكن هناك مشكلة أعمق!

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

وحتى إذا قمت بتحديث جميع أرقام إصدار يدويا في IDE VS من 1.0.0.0 إلى 1.1.0.0، فشل بناء مثل مكونات خطوط أنابيب مسطحة ملف ديس / المجمعات لا يزال الرجوع إلى النسخة القديمة 1.0.0.0 من المخططات! انهم لا تقم بتحديث تلقائيا!

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

وهذا يعني أنني لا يمكن أن يكون عملية الإنشاء بلدي السيطرة على جزء رقم البنية من أرقام إصدار بلدي!

وأم أن هناك طريقة أفضل لإدارة أرقام إصدارات المجالس BizTalk؟

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

المحلول

وأنا آسف ليخيب لك ولكن لقد كنت أسفل بعض الطريق بالضبط كان لي للتخلي عنها. أعتقد أنه يمكن أن يكون من الممكن تحقيق ذلك، ولكن ذلك يتطلب الكثير من التغييرات على كل الملفات ملزمة وغيرها من ملفات XML (كما ذكرتم وأكثر من ذلك حتى لو كنت قد نشرت خدمات الخ).

وربما قد يكون من الممكن التفاف كل هذه التغييرات الضرورية في خطوة البناء (خطوة MSBuild أو ما شابه ذلك في أطر بناء أخرى) - التي من شأنها أن تكون على فائدة <قوية! / P>

نصائح أخرى

وDeveloper-:)

وكان لدينا مشكلة مماثلة وانتهى تطوير أداة صغيرة من شأنها ان تغير رقم الإصدار في جميع المشاريع أي * .csproj (asssemblyinfo.cs) *، .btproj وفقا لذلك. وفضلا عن ذلك فإنه فتح وتعديل ملفات .btp * مع الإصدار الجديد من المخططات. في باختصار، كل ما عليك القيام به هو لتكوين هذه الأداة المساعدة في القائمة أدوات VS.net وتنفيذه.

وأعتقد ليست صعبة جدا لتطوير هذه الأداة في أي lanagauge صافي.

والتحذير: لا ننسى لحفظ الملفات بعد التحديثات مع نفس الترميز كما كانت في الأصل

وهتاف!

ومحبط، ويعتقد أنه قد يكون كذلك. ربما مشاريع BizTalk 2009 سيلعب أكثر لطيف عند تحديث المراجع عند تغيير أرقام إصدار.

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

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

وليس مثاليا، ولكن انها تعمل.

لقد فعلت ذلك بنجاح على مشروعنا - سوف نرى ما اذا كان يمكنني الحصول على مطور أداة للنشر التفاصيل ...

وهذه المشكلة تنشأ عند تنفيذ بناء التكامل إلى أحدث الإصدارات من مكونات تابعة الخاص كمراجع ملف (المخططات الملقب هنا).

ونضع في اعتبارنا أن رفع مستوى assemblyversion يجب دائما القيام بها يدويا، وبهذه الطريقة كنت دائما المسؤول عن التغييرات assemblyversions.

وأحد الحلول الممكنة لحل القضية buildbreaks هو ملف إشارة إلى إصدار محدد من بناء مكون تعتمد وليس إلى أحدث إصدار واستخدام محرك SUBST والسيناريو نسخة للحصول يبني عنصر آخر.

وعلى سبيل المثال:

وSchemaA، والتجمع النسخة 1.0.0.0 PipelineA (مع XMLValidator pipelinecomponent على سبيل المثال)، إصدار التجميع 1.0.0.0

وPipelineA لديه مرجع الملف إلى محرك أقراص SUBST (ويقول R محرك الأقراص، التي تقوم بتعيين إلى مساحة عمل D: \ MyComponents) والإصدار 1.0.0.0 من SchemaA كما يلي:

وR: \ SchemaA \ 1.0.0.0 \ SchemaA.dll

ونسخة النصي نسخ buildoutput من SchemaA محليا إلى محرك R الخاص بك.

عند مخطط A التحديثات إلى الإصدار 1.1.0.0 لم يكن لديك أي مشاكل لأنك لا تزال تستخدم نسخة 1.0.0.0 وYOU ديك خيار لاستخدام الإصدار 1.1.0.0 من المخطط الخاص بك. عندما كنت ترغب في الترقية، لديك لتغيير نسختك النصي واستبدال الإشارة إلى ملف R: \ SchemaA \ 1.1.0.0 \ SchemaA.dll

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