我們有一個包含 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 解決方案中,我認為這并不理想(如果我理解正確的話)。
- 1 回答
- 0 關注
- 182 瀏覽
添加回答
舉報
0/150
提交
取消