为了账号安全,请及时绑定邮箱和手机立即绑定

使用 GIT 存储库的 Visual Studio 在一个解决方案中使用 API 和网站发布

使用 GIT 存储库的 Visual Studio 在一个解决方案中使用 API 和网站发布

C#
慕沐林林 2022-06-12 16:28:54
我们有一个包含 WebAPI 应用程序和 MVC 网站的 Visual Studio 解决方案,它们都使用共享项目数据访问层。解决方案网络API来自网站我们需要将 webAPI 和网站分成 2 个单独的解决方案,用于我们的 Azure DevOps 发布管道,但我们不确定 DAL 需要放在哪里,因为这对两个项目都是必需的,如果我们确实需要拆分它们。有什么建议么?
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

方法一

如果我理解你的情况是正确的,我会让所有 3 个项目留在同一个解决方案中,但让 Azure Pipelines 处理 2 个构建和发布。

WebApi 的一个管道(构建 WebApi.csproj)并将其部署到您拥有 api hostet 的任何端点(例如应用程序服务)。

网站的另一个管道(但相同的 VS 解决方案和 GIT 存储库)(构建 Website.csproj)并部署它。

实际上,您可以使两个 CI/CD 流相互依赖,因此所有内容都捆绑在一起(例如,在 GIT 中的主分支上触发提交)。

方法二

如果您使用 Azure App Service,您实际上可以跳过 Azure Pipelines 并将您的 repo 直接链接到您的 App Services(网站和 WebApi),并指定应使用“PROJECT”应用程序设置构建哪个项目(请参阅https://github .com/projectkudu/kudu/wiki/Deploying-inplace-and-without-repository了解更多信息)。

方法 3

另一种方法是将 DAL 项目分离到它自己的 Nuget 包中,然后在 Web 和 API 项目之间共享代码。但这最终会出现在 3 VS 解决方案中,我认为这并不理想(如果我理解正确的话)。


查看完整回答
反对 回复 2022-06-12
  • 1 回答
  • 0 关注
  • 209 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号