سؤال

لدي مهمة MSBuild مثل هذه للتوقيع على جميع وحدات الإخراج في مشروعنا.

    <SignFile Condition="Exists('$(OutputPath)\%(FilesToSign.identity)')"
      CertificateThumbprint="$(THUMBPRINT)"
      SigningTarget="$(OutputPath)\%(FilesToSign.identity)"
      TimestampUrl="http://timestamp.verisign.com/scripts/timestamp.dll" />

يستغرق بعض الوقت (10 دقائق أو أكثر) عندما يكون لدي العديد من الملفات. من الممكن تشغيل الأشياء بالتوازي أو بطرق أخرى تسريعها. (أحاول التوقيع على أكثر من 100 ملف ..)

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

المحلول

هناك طريقة أخرى لتسريع التوقيع وهي إزالة المعلمة الطابع الزمني. قد لا يكون الأمر جيدًا بما يكفي لبناء الإصدار (لعدم وجود طابع زمني على التوقيع) ، لكنه جيد بما يكفي لبناء التطوير.

ويسرع عملية التوقيع بنسبة 80-90 ٪.

نصائح أخرى

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

علاوة على ذلك ، أعتقد أنك ستقتصر على سرعة الوصول إلى القرص وليس عن طريق ذاكرتك.

لا أعرف مهمة الإشارة بما يكفي لتقديم المشورة بشأن كيفية تحسينها ، على الرغم من ذلك ، آسف.

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