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

时间:2017-08-31 19:43:43

标签: c# asp.net-mvc visual-studio-2017 asp.net-mvc-areas

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

2 个答案:

答案 0 :(得分:2)

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

有两种可行的方法:

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

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

答案 1 :(得分:0)

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

https://stackoverflow.com/a/14232754/2183503有答案。

注意:尽管如此,它有一些虚假信息(关于传递与版本)。例如,我刚刚测试了该命令,并且在Visual Studio 2019开发人员命令提示符中没有/p:VisualStudioVersion=11.0的情况下也可以正常工作。