VSTS在线建筑安装项目?

Her*_*r33 6 c# console-application setup-project azure-devops

我有一个带有安装项目的.NET Console应用程序,我试图移植到VSTS Online(visualstudio.com),以利用源代码控制并添加自动构建/部署。

我已经上传了很好的代码,并且它的构建很棒,但是正在努力使其生成MSI。我已经尝试在解决方案构建后引入命令行任务来运行devenv.com,但我无法完全正常工作。关于获取设置项目以构建其MSI的任何想法?

谢谢!

编辑:

这是我尝试的命令行任务:

Tool: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv
Arguments: SolutionName.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)

编辑2:

新命令行:

Tool: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com
Arguments: MySolution.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)

日志:

2017-10-04T17:58:48.7033117Z ##[command]"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com" MySolution.sln /Build release /Project Setup\Setup.vdproj
2017-10-04T17:59:12.1156461Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.extensionmanager.implementation.dll
2017-10-04T17:59:46.2231714Z 
2017-10-04T17:59:46.2231714Z Microsoft Visual Studio 2017 Version 15.0.26730.3.
2017-10-04T17:59:46.2231714Z Copyright (C) Microsoft Corp. All rights reserved.
2017-10-04T17:59:46.2231714Z 
2017-10-04T17:59:46.2231714Z Some errors occurred during migration. For more information, see the migration report:
2017-10-04T17:59:46.2231714Z d:\a\1\s\UpgradeLog.htm
2017-10-04T17:59:46.4634939Z ========== Build: 0 succeeded or up-to-date, 0 failed, 0 skipped ==========
2017-10-04T17:59:48.5239469Z ##[section]Finishing: Run C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com
Run Code Online (Sandbox Code Playgroud)

编辑3:

根据@Marina-MSFT,我已经尝试了Build VS Installer,但是它对我来说并不是很有效。该任务成功竞争,但似乎从未真正生成MSI,因为工件下降中没有任何内容。这是任务的日志:

2017-10-04T20:38:12.1314337Z ##[section]Starting: Create .msi file(s) from VS Installer project(s).
2017-10-04T20:38:12.1314337Z ==============================================================================
2017-10-04T20:38:12.1314337Z Task : DutchWorkz - Build VS Installer(s)
2017-10-04T20:38:12.1314337Z Description : Build .msi file(s) from VS Installer project(s).
2017-10-04T20:38:12.1314337Z Version : 1.2.4
2017-10-04T20:38:12.1314337Z Author : DutchWorkz B.V.
2017-10-04T20:38:12.1324342Z Help : <b>BuildVsInstaller v1.2.4</b>, DutchWorkz B.V. (Robin Paardekam)<br/><br/>Visual Studio Installer projects are not supported by MSBUILD, so a regular build will not generate your installer files (.msi). Use this build-task to build the .msi file(s) for your project by running devenv on the buildagent directly. <br/><br/><b>Dependencies:</b><br/>Dep1: when using VisualStudio 2017, this task will only function properly if you installed it in the default C:\Program Files (x86)\ location.
2017-10-04T20:38:12.1324342Z ==============================================================================
2017-10-04T20:38:15.3883721Z DEBUG: Aggregated: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\..\IDE\devenv.com
2017-10-04T20:38:15.4043950Z Now running (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\..\IDE\devenv.com) with Arguments ("d:\a\1\s\MySolution.sln" /Build "release|any cpu" /Project "d:\a\1\s\Setup\Setup.vdproj" /Out "d:\a\1\b\BuildInstaller_Log_20171004203815.txt")
2017-10-04T20:39:39.8930682Z Done running DevEnv process. Success = True.
2017-10-04T20:39:39.8950669Z The single MSI should be located here: d:\a\1\s\Setup\release\
2017-10-04T20:39:40.0450669Z ##[warning]No .MSI files were found, please check your build-configuration. If this is expected, you might consider to use the default Visual Studio Build task instead of this custom Installer task.
2017-10-04T20:39:40.0560673Z ##[section]Finishing: Create .msi file(s) from VS Installer project(s).
Run Code Online (Sandbox Code Playgroud)

任务配置

任务配置

Mar*_*Liu 5

要通过VS安装程序项目生成.msi文件,可以在市场中使用Build VS Installer任务

您可以在“ 任务模式”选项中指定生成.sln.vdproj生成.msi文件。

在此处输入图片说明


Edd*_*SFT 4

您必须配置自己的生成代理才能运行生成,因为 Hosted & Hosted 2017 代理上未安装 Visual Studio 安装程序项目扩展。

确保 VS 安装程序项目扩展安装在您自己的构建代理上,然后您可以使用带有“devenv”的命令行任务或使用“构建 VS 安装程序”任务来构建安装项目。

如果您收到如下“8000000A”错误: 在此输入图像描述 请按照此处的说明配置您的构建代理:解决方案:验证时发生错误。HRESULT = '8000000A'

然后您应该能够成功构建安装项目: 在此输入图像描述

  • 要在 VS17(以及构建机器)中设置相同的设置,请参阅此答案:/sf/answers/2925215401/ (2认同)