1

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

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

当我有很多文件时,这需要相当长的时间(10 分钟或更长时间)。可以并行运行东西或以其他方式加速它。(我正在尝试签署 100 多个文件..)

4

2 回答 2

2

加快签名的另一种方法是删除 TimeStampUrl 参数。它对于发布构建可能不够好(签名上没有时间戳),但对于开发构建来说已经足够好了。

它以 80-90% 的速度加快了签署过程。

于 2011-04-06T06:02:58.547 回答
1

使用 MsBuild 进行并行构建的唯一方法是拥有不同的 msbuild 实例,因此不同的项目文件,我认为这里不建议这样做。您不能并行执行任务或目标,但可以并行构建项目(但您可以创建多个项目文件,每个文件都有一个目标)。您可能在这里有精确度:如何在 MSBuild 中并行运行任务

此外,我认为您将受到磁盘访问速度而不是内存的限制。

不过,对不起,我对 SignFile 任务的了解不足以就如何优化它提供建议。

于 2010-10-05T16:30:13.050 回答