15

我面临一个问题,我需要在 Visual Studio Online 中从具有两个 Web 项目的解决方案中构建一个 Web 项目。

  • 我还没有找到如何使用“Visual Studio Build”步骤仅构建一个项目。

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

  • 我还尝试使用“MSBuild”步骤。不幸的是,我在使用 Nuget 恢复软件包时遇到了问题。我收到错误消息:##[error]No file format header found,##[error]Unexpected exit code 1 从工具 NuGet.exe 返回。运行后立即:Nuget.exe restore Myproj.csproj

总结:

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

更新

这是我构建时的错误图像。我也使用“Visual Studio Build”步骤或“MSBuild”步骤来获得这个。

在此处输入图像描述

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

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

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

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

4

3 回答 3

32

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

首先,单击“解决方案”字段旁边的省略号按钮。 在此处输入图像描述

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

于 2015-10-06T01:47:27.883 回答
2

您可以将新的“Azure App Service Deploy”任务添加到构建定义中,并将“包或文件夹字段”设置为“$(build.artifactstagingdirectory)**\YOURPROJECT.zip”

于 2017-10-12T15:37:50.350 回答
-6

您可能希望仅使用要构建的 Web 项目来创建解决方案。

在 Visual Studio 中,您可以创建一个新项目,然后在该对话框中选择“其他项目类型\解决方案”。

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

于 2015-10-08T06:54:49.663 回答