在 Visual Studio Team Services 中构建未发布 Web API 项目(是 VS Online)

Build not publishing Web API project in Visual Studio Team Services (was VS Online)

我已经在 Team Services 上创建了一个 VS 构建定义。当我对它进行排队时,构建成功运行,它还输出解决方案中所有项目的 dll,但我使用 Web Api2 创建的服务层除外。

当我从放置位置下载工件时,我有包含数据层、业务层和其他辅助项目的 dll 的文件夹。我没有的是可以部署到 IIS 的主要服务层 dll。

这是我的发布设置的屏幕截图。

我可能遗漏了什么?

在 VisualStudio 中打开配置管理器并确保 WebAPI 项目包含在您正在构建的配置(调试、发布等)中。

您似乎正在使用构建定义的默认设置。使用这些设置,"Copy Files" 任务的内容是“**\bin\$(BuildConfiguration)**”,而 web api 项目没有 buildconfiguration 文件夹。所以它找不到 web api 项目的文件。要复制这些文件,请再添加一项 "Copy Files" 任务并配置如下设置:

如果你想要项目的部署文件,你需要设置你的构建定义如下:

  1. Visual Studio Build 步骤添加参数 /p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)"
  2. 删除 Copy Files 步骤。
  3. Publish Build Artifacts 步骤的发布路径设置为 $(build.artifactstagingdirectory)\_PublishedWebsites

然后您应该在放置文件夹中获取部署文件。