TFS 持续集成 clickonce 应用程序

Posted

技术标签:

【中文标题】TFS 持续集成 clickonce 应用程序【英文标题】:TFS Continuous integraton clickonce application 【发布时间】:2020-03-18 17:58:09 【问题描述】:

我正在尝试通过 TFS 持续集成自动单击应用程序部署,我的构建定义具有以下步骤(出于演示字符串的原因,已简化)

获取来源:从 TFS 服务器

Nuget 恢复:恢复 nuget 包

PowerShell 脚本:用于将证书添加到解决方案的主项目,如下所示:

$password = 'password'
Add-Type -AssemblyName System.Security
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import("$(CertPath)", $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
$store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
$store.Add($cert)
$store.Close()

MSBuild:构建解决方案文件

所有运行正常,但是当我尝试打开代理 Bin/release 路径上的 exe 文件时,我遇到了这个异常:

请帮帮我。

【问题讨论】:

您是否按照错误消息的提示验证了您的版本字符串? @DanielMann 你是说项目装配信息吗?我在特定行上放了一个 try-catch,但异常显示在另一个站点上。我看到了.exe的详细信息,文件版本还可以 如果我在 Visual Studio 中打开解决方案并构建它,一切正常,请帮助我 根据您的描述和屏幕截图,看起来一切都在 TFS 中正确构建,没有错误或警告。您只是说您未能在 TFS 构建代理中打开 .exe 文件吗?您在构建代理中有相应的环境吗?您可以在本地开发环境中打开 .exe 文件吗? 【参考方案1】:

我删除了代理并进行了新的编译,一切正常。谢谢

【讨论】:

以上是关于TFS 持续集成 clickonce 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

用于 TFS 持续集成的 NuGet 包

TFS2017持续集成构建

如何为 Windows Azure Web 角色上的 PHP 项目配置 TFS 构建定义以实现持续集成?

仅使用 MSBuild 进行 TFS2012 夜间部署

TFS 构建定义 - 添加步骤以运行 DacPac 进行单元测试

将 StyleCop 与 TFS CI 集成的最佳方式