1

我在 Visual Studio Team Services 中有一个解决方案,它有 2 个 Web 应用程序(特别是一个用于 WebAPI 服务的项目,另一个用于使用 MVC 的实际站点)。

我正在尝试设置对 Azure 的持续交付,但我能找到的所有信息似乎都假设您的解决方案中只有一个 Web 应用程序(这对于除了最简单的项目之外的所有项目来说似乎有点不切实际!)。

开箱即用的持续交付过程似乎只是挑选并部署它找到的第一个 Web 应用程序(不一定每次都是同一个项目!)

我尝试指定部署设置文件,但这似乎会影响目标而不是正在部署的项目,因为它似乎只是“选择”一个要部署的项目,并且每次部署每个已编译的程序集以及所有依赖项时而不仅仅是实际部署的项目的二进制文件和依赖项,这可能会导致 MVC 为给定名称查找重复的控制器匹配项的问题(这当然可以通过在路由配置中指定控制器的命名空间来解决,但这似乎不太理想,仍然不能解决整个问题)。

理想情况下,我想找到一种使用单个构建部署两个项目的方法,但作为一个临时解决方案,我对两个由单个解决方案的签入触发的构建感到满意,每个构建都可靠地部署 1 2 个 Web 应用程序中的一个。

有谁知道这是否可能?我想我可以编写自己的自定义构建模板,但我希望有一个更简单的答案(尤其是因为我无法想象这不是其他人面临的问题!)

我确实发现了这个问题TFSPreview.com and Azure Continuous deployment for multiple solutions in TFS但由于这已经很老了,而且专门讨论的是 AzureWebRoleProjects 而不是 Web 应用程序被部署到较新的 Azure 网站功能,我希望有更多正面回答?

4

1 回答 1

0

这可以通过多种构建配置实现。除了 Debug 和 Release,您还可以指定两个,每个应用程序一个。

您可以在 Visual Studio 的 Build -> Configuration Manager 中找到这些。然后在配置中只指定其中一个要构建。然后使用该配置运行 MSBuild 将仅输出一个 WebDeploy 包。

于 2016-06-21T06:34:44.610 回答