ClickOnce清单应用程序在TFS构建

本文关键字:TFS 构建 应用程序 ClickOnce | 更新日期: 2023-09-27 18:10:37

有人知道如何使用代码签名证书ClickOnce manifest应用程序在TFS托管控制器构建?

场景:

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

构建"进程"使用默认模板配置为任意CPU|Release

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

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

在我的解决方案中,两个项目有"ClickOnce manifest"

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

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

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

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

是否有其他方法可以使用代码签名和ClickOnce manifest获得干净的TFS构建?

还没有找到解决方案:有人能帮上忙吗??

ClickOnce清单应用程序在TFS构建

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

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

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

我的公司生产一个产品叫做ClickOnceMore (www.clickoncemore.net),它可以用来构建你的ClickOnce清单,而不是MSBuild。它被设计成可以使用命令行接口轻松集成到持续集成构建中。

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

希望对你有帮助。