在同一解决方案中发布两个项目
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 应用程序一起构建或发布。
有两种可行的方法:
您将 API 集成到 MVC 站点中(相同的域,相同的路由机制,可能是单独的区域)。
在那种情况下,为了简单起见,我建议将它保留在同一个项目中。
您将 API 作为一个单独的应用程序开发在其自己的(子)域中。
在这里你把它放在它自己的项目中。你自己构建和发布它,与 MVC 应用程序分开。
msbuild MyProject.csproj /p:DeployOnBuild=true;PublishProfile=<profile-name>;Password=<insert-password>
有答案。
注意:虽然它有一些虚假信息(关于通过与版本)。例如,我刚刚测试了命令,并且在 Visual Studio 2019 开发人员命令提示中没有 /p:VisualStudioVersion=11.0 时它运行良好。
我目前 运行 遇到一个问题,我在同一个解决方案中有一个 mvc 项目和一个 API 项目,Visual Studio 2017。 当我构建解决方案时,结构如下 解决方案 solution/area1 solution/area2 solution/api 当我在本地机器上构建时,我能够毫无问题地到达 api,但是当我去发布解决方案时,api 项目构建了 dll,但没有构建 solution/api 所以我无法导航到我的 api 电话。 我已尝试设置多个启动解决方案,但未能解决问题。
在本地计算机上构建时,您可能会使用“(Re)Build 解决方案”,它会构建解决方案中的所有项目。 但是,没有'Publish solution'这样的东西。您只能发布一个项目。当您这样做时,只会构建和发布项目及其所有依赖项。 如果您的 API 在一个单独的项目中并且未从 MVC 站点引用,则它不会与该 MVC 应用程序一起构建或发布。
有两种可行的方法:
您将 API 集成到 MVC 站点中(相同的域,相同的路由机制,可能是单独的区域)。 在那种情况下,为了简单起见,我建议将它保留在同一个项目中。
您将 API 作为一个单独的应用程序开发在其自己的(子)域中。 在这里你把它放在它自己的项目中。你自己构建和发布它,与 MVC 应用程序分开。
msbuild MyProject.csproj /p:DeployOnBuild=true;PublishProfile=<profile-name>;Password=<insert-password>
有答案。
注意:虽然它有一些虚假信息(关于通过与版本)。例如,我刚刚测试了命令,并且在 Visual Studio 2019 开发人员命令提示中没有 /p:VisualStudioVersion=11.0 时它运行良好。