在同一个解决方案中发布两个项目

use*_*764 4 c# asp.net-mvc asp.net-mvc-areas visual-studio-2017

我目前遇到一个问题,我在同一个解决方案 Visual Studio 2017 中有一个 mvc 项目和一个 API 项目。当我构建解决方案时,结构如下解决方案解决方案/区域1解决方案/区域2解决方案/api我能够仅在本地计算机上构建时,可以毫无问题地访问 api,但是当我发布解决方案时,api 项目会构建 dll,但不会构建解决方案/api,因此我无法导航到我的 api 调用。我尝试设置多个启动解决方案,但没有解决问题。

Joh*_*nne 5

当您在本地机器上构建时,您可能会使用“(重新)构建解决方案”,它会构建解决方案中的所有项目。但是,没有“发布解决方案”这样的东西。您只能发布一个项目。当您这样做时,只会构建和发布项目及其所有依赖项。如果您的 API 位于单独的项目中并且未从 MVC 站点引用,则它不会与该 MVC 应用程序一起构建或发布。

有两种可行的方法:

  1. 您将 API 集成到 MVC 站点(相同的域,相同的路由机制,可能是不同的区域)。在这种情况下,为了简单起见,我建议将它保留在同一个项目中。

  2. 您可以将 API 作为其自己(子)域中的单独应用程序开发。在这里,您将其放入自己的项目中。您可以独立于 MVC 应用程序构建和发布它。