2010-10-05 75 views
1

我有這樣的MSbuild任務來簽署我們項目的所有輸出模塊。MSBuild中的SignFile任務:我們可以讓它更快嗎?

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

當我有很多文件需要很長時間(10分鐘或更多)。可以並行運行或以其他方式加速運行。 (我試圖簽署超過100個文件..)

回答

2

加速簽名的另一種方法是刪除TimeStampUrl參數。對於發佈版本(在簽名上沒有時間戳)可能不夠好,但對於開發版本來說,這足夠好。

它以80-90%的速度加快了簽名過程。

1

與MsBuild並行構建的唯一方法是有不同的msbuild實例,因此不同的項目文件,我不認爲這是建議在這裏。你不能以平行方式完成任務或目標,但你可以並行建立項目(但你可以創建多個項目文件,每個項目只有一個目標)。你可能在這裏有精度:How to run tasks in parallel in MSBuild

此外,我認爲你會受到磁盤訪問速度的限制,而不是你的內存。

雖然抱歉,我不知道SignFile任務足以提供如何優化它的建議。

相關問題