visual-studio - 如何在 Azure Devops Pipeline 托管代理中构建 Visual Studio 安装程序项目
问题描述
我有一个 Visual Studio 安装项目。通常我使用Microsoft Visual Studio 安装程序项目扩展,并使用 devenv 使用命令行运行 MSBuild Exec 任务。这适用于我的开发盒和我现有的构建机器。但是,我希望使用VS2017 映像迁移到托管管道代理。
我希望安装程序扩展可能已经安装,所以我尝试了我的构建并得到了一个错误:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com" "D:\a\2\s\Source\Build..\WindowsFormsApp1\WindowsFormsApp1.sln" /Build "调试" /Project "Setup1" /ProjectConfig "调试" /Log
操作无法完成。参数不正确。
我尝试将 VSIX 添加到我的存储库中,然后像这样发出 VSIX 的命令行安装:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe" /a /quiet /log:MyTestApp.log D:\a\2\s\Source\Build\InstallerProjects .vsix
然而,这似乎阻塞了大约 10 分钟,然后失败并出现错误(我怀疑 UI 正在阻塞,即使我使用 /quiet arg 来抑制 UI):
...以代码-2146233088退出。
有没有办法使用 MS 托管的管道代理来构建 Visual Studio 安装程序项目?
解决方案
如何在 Azure Devops Pipeline 托管代理中构建 Visual Studio 安装程序项目
AFAIK,恐怕我们目前无法在 Azure Devops Pipeline Hosted Agent 中构建 Visual Studio 安装程序项目。
两周前我遇到了类似的问题,经过一段时间的调查,我开始尝试和你一样的想法,使用命令行安装Microsoft Visual Studio Installer Projects扩展。
但是,我遇到了超时问题。我无法在托管代理上安装该扩展。为了测试原因,我使用相同的命令 lien 在另一台本地机器上安装了该扩展。确实,有一个 UI 窗口可以确认您是否要安装此扩展程序,即使我给出了/admin
参数:
检查这里的选项。
然后我尝试用管理员打开命令行并执行相同的命令行,它可以成功安装该扩展。所以,我想在 Azure DevOps 管道中执行命令行。但没有成功。因为我们无法使用命令行脚本任务以管理员身份执行命令行脚本。
看来我们必须设置我们的私人代理。
希望这可以帮助。
推荐阅读
- c# - 将收集到的积分限制为每级三个(就像愤怒的小鸟中的星星)
- javascript - 如何使用 Jquery 在 html 中创建带有 input[type="radio"] 的选项卡?
- node.js - 如何使 Material Ui GridList 在 React 中响应小屏幕
- c# - 将值(结构)类型更改为引用(类)类型的后果
- vue.js - CORS 拒绝 GET
- amazon-web-services - 使用私有 IP 进行 WHM S3 备份,降低 aws ec2 和 s3 之间的成本
- search - 模拟退火算法中探索和利用的区别
- reactjs - 链接 React.useEffect 依赖项会导致重新渲染缓慢
- java - 为什么每次启动 Spring Boot 应用程序时我的 h2 数据库都是空的?
- c# - .NET Core API 密钥和身份集成