我MSBuild任务这样来签署我们的项目的所有输出模块。

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

这需要相当长的一段(10分钟或更长)时,我有许多文件。它可以并行或以其他方式加快它运行的东西。 (我想登录多于100个文件。)

有帮助吗?

解决方案

加快签署的另一种方法是去除TimeStampUrl参数。它可能不是发布版本不够好(不具有对签名时间戳),但它是一个开发版本够用了。

和它加快了签名过程用80-90%。

其他提示

使用的MSBuild做并行构建的唯一途径是拥有的MSBuild不同的情况下,因此不同的项目文件,我不认为这是在这里推荐。你不能做任务或目标的相似之处,但你可以建立并行工程(但您可以创建在每一个目标的几个项目文件)。您可能需要精密的位置:如何在并行运行的MSBuild任务

此外,我想你会被你的硬盘存取速度,而不是由你的记忆是有限的。

我不知道SignFile任务足以对如何优化它给意见,不过,很抱歉。

scroll top