4

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

设想:

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

使用配置为任何 CPU|Release的默认模板构建“进程”

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

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

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

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

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

问题

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

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

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

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

4

2 回答 2

1

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

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

于 2013-05-14T14:47:58.833 回答
-2

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

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

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

希望有帮助。

于 2013-05-04T19:06:38.003 回答