【问题标题】:ClickOnce Manifest Application in TFS buildTFS 构建中的 ClickOnce 清单应用程序
【发布时间】:2013-04-23 16:00:23
【问题描述】:

有谁知道如何在 TFS 托管控制器构建中为 ClickOnce 清单应用程序使用代码签名证书?

场景:

我将 Team Foundation Service 用作代码存储库和源代码控制。我使用团队资源管理器 (Visual Studio 2012) 创建了构建定义。

使用配置为Any CPU|Release

的默认模板构建“进程

构建设置为“手动触发器”使用托管构建控制器

如果我的项目使用代码签名和代码清单,则 TFS 构建不成功。

在我的解决方案中,两个项目具有“ClickOnce 清单”

本地构建在代码签名和 ClickOnce 清单方面没有任何问题 - 因为代码签名证书在本地可用于构建。

但对于 TFS 中的相同构建,我收到错误“无法在证书存储中找到清单签名证书。” (只有一个错误阻止了构建)

问题

如何将代码签名证书安装到“TFS 构建服务帐户”或“构建服务用户帐户”?

如何使代码签名证书在虚拟构建机的证书存储中可用?

使用代码签名和 ClickOnce 清单获得干净的 TFS 构建的任何替代方法?

还没有找到解决方案:(这里有人帮忙吗??

【问题讨论】:

    标签: c# clickonce manifest code-signing tfsbuild


    【解决方案1】:

    我已经设法在 TFS 自动构建中签署了我的 ClickOnce 清单。我的证书受密码保护,因此构建服务器无法访问证书。该证书不在我的个人证书存储中,因此我遇到了麻烦。

    我已将证书导入本地计算机的个人存储中,并从那里引用它来签署 clickonce 清单。当您从个人商店引用证书时,它不会要求输入密码。因此,您可以欺骗 TFS 构建,并且现在可以访问您的代码签名证书..

    【讨论】:

    • 那么是否就像将其导入个人证书存储一样简单,仅此而已?我已经在构建服务器上这样做了,但仍然遇到同样的错误。
    【解决方案2】:

    我有一个可能的替代方案来为你获得一个干净的构建。

    我的公司生产一种名为 ClickOnceMore (www.clickoncemore.net) 的产品,可用于构建 ClickOnce 清单而不是 MSBuild。它旨在使用命令行界面轻松集成到持续集成构建中。

    要集成到您的构建中: * 在您的 Visual Studio 解决方案中关闭 clickonce * 创建一个 ClickOnceMore 项目 * 要对清单进行签名,您只需将签名证书放在已知文件夹位置,然后从 ClickOnceMore 项目中引用它 * 在 TFS 中添加新的构建步骤来构建 ClickOnceMore 项目

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 2020-03-18
      • 2018-12-19
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多