【问题标题】:SignFile task in MSBuild: Can we make it faster?MSBuild 中的 SignFile 任务:我们可以让它更快吗?
【发布时间】:2010-10-05 13:01:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: msbuild codesign


    【解决方案1】:

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

    它可以将签名过程加快 80-90%。

    【讨论】:

      【解决方案2】:

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

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

      不过,我对 SignFile 任务的了解不够,无法就如何优化它提供建议,抱歉。

      【讨论】:

        猜你喜欢
        • 2013-11-02
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多