我目前遇到的问题是我在同一个解决方案Visual Studio 2017中有一个mvc项目和一个API项目。 当我构建解决方案时,结构如下 解 溶液/ AREA1 溶液/ AREA2 溶液/ API 在我的本地机器上构建时,我能够毫无问题地到达api,但是当我发布解决方案时,api项目构建了dll,但没有构建解决方案/ api所以我无法导航到我的api调用。 我已尝试设置多个启动解决方案,但无法解决问题。
答案 0 :(得分:2)
当您在本地计算机上构建时,您可能会使用'(重新)构建解决方案',它会在解决方案中构建所有项目。 但是,没有'发布解决方案'。您只能发布项目。当你这样做时,只构建项目及其所有依赖项。出版。 如果您的API位于单独的项目中而未从MVC站点引用,则不会与该MVC应用程序一起构建或发布。
有两种可行的方法:
您将API集成在MVC站点中(相同的域,相同的路由机制,可能是单独的区域)。 在这种情况下,为了简单起见,我建议将其保留在同一个项目中。
您在自己的(子)域中将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的情况下也可以正常工作。