在 Visual Studio 在线构建定义中从具有多个 Web 项目的解决方案构建一个 Web 项目

Build one web project from a Solution with multiple web projects in Visual Studio Online Build Definition

我遇到一个问题,我需要从 Visual Studio Online 中包含两个 Web 项目的解决方案构建一个 Web 项目。

如果存在这种通过“Visual Studio 构建”步骤执行此操作的方法,那就太好了。

总结:

如何从 visual studio 在线构建定义中包含多个 Web 项目的解决方案中只构建一个 Web 项目?

更新

这是我构建时的错误图像。另外,我使用“Visual Studio Build”步骤或“MSBuild”步骤得到这个。

还有

我在 VSO 问题中找到了来自 chrisrpatterson 的评论: https://github.com/Microsoft/vso-agent-tasks/issues/571

他说:您不能 运行 对 SLN 文件以外的任何内容进行 nuget 恢复。您应该取消选中该 vsbuild 任务上的恢复 nuget 包。

但我需要这些包,我不想将我的包文件夹推送到我的存储库中。

那么,我如何才能从“Visual Studio 构建”步骤中的解决方案中恢复包和 运行 只有一个 Web 项目?

您需要 select .proj 文件,而不是选择 .sln 文件。

首先,单击解决方案字段旁边的省略号按钮。

然后选择要构建的.proj 文件。例如,下面的屏幕截图显示构建定义配置为构建 ClassLibrary1 项目,而不是整个解决方案(包含 ClassLibrary1 和 ClassLibrary4 项目)

您可能希望创建一个仅包含您要构建的 Web 项目的解决方案。

在 visual studio 中您可以创建一个新项目,并在该对话框中 select "other project types\solution"。

新的解决方案可以紧挨着现有的解决方案..

您可以将新的 "Azure App Service Deploy" 任务添加到构建定义中,并将 "Package or folder field" 设置为“$(build.artifactstagingdirectory)**\YOURPROJECT.zip”