2013-04-23 33 views
4

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

场景:

我使用团队基础服务作为代码库和源代码控制。我使用团队资源管理器(Visual Studio 2012)创建了一个构建定义。

生成 “过程” 使用被配置为任何CPU默认模板|释放

构建被设置为 “手册触发” 使用托管生成控制器

如果我的项目使用代码签名和代码清单,TFS构建失败。

在我的解决方案,拥有“的ClickOnce体现”

本地构建不与代码签名的任何问题和ClickOnce的体现两个项目 - 因为代码签名证书可用于在本地构建。

但对于TFS相同的生成,我得到的错误“找不到证书存储清单签名证书。” (只是一个错误阻止编译)

问题

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

如何让代码签名证书在虚拟生成机器的证书存储中可用?

通过代码签名和ClickOnce清单获取清洁TFS的任何替代方案?

还没有找到解决办法尚未:(有用的人在这里?

回答

1

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

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

+1

因此,只需将其导入到个人证书存储中就可以了,就是这样吗?我已经在构建服务器上完成了这项工作,但仍然遇到同样的错误。 – 2014-07-24 14:47:06

-2

我有一个可能的替代得到一个干净的构建适合你。

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

要集成到您的版本中: *关闭visual studio解决方案中的clickonce *创建ClickOnceMore项目 *要签名,你只需要把签名证书在已知的文件夹位置,然后从ClickOnceMore项目 *引用它添加在TFS新生成步骤构建ClickOnceMore项目

舱单

希望有所帮助。