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

publish two projects in same solution

我目前 运行 遇到一个问题,我在同一个解决方案中有一个 mvc 项目和一个 API 项目,Visual Studio 2017。 当我构建解决方案时,结构如下 解决方案 solution/area1 solution/area2 solution/api 当我在本地机器上构建时,我能够毫无问题地到达 api,但是当我去发布解决方案时,api 项目构建了 dll,但没有构建 solution/api 所以我无法导航到我的 api 电话。 我已尝试设置多个启动解决方案,但未能解决问题。

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

有两种可行的方法:

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

  2. 您将 API 作为一个单独的应用程序开发在其自己的(子)域中。 在这里你把它放在它自己的项目中。你自己构建和发布它,与 MVC 应用程序分开。

msbuild MyProject.csproj /p:DeployOnBuild=true;PublishProfile=<profile-name>;Password=<insert-password>

有答案。

注意:虽然它有一些虚假信息(关于通过与版本)。例如,我刚刚测试了命令,并且在 Visual Studio 2019 开发人员命令提示中没有 /p:VisualStudioVersion=11.0 时它运行良好。