【发布时间】:2019-09-29 21:01:13
【问题描述】:
我最近在 .Net Core 中构建了一个 MVC Web 项目,现在我想为它构建一个 Android 和 iOS 前端。我了解 .Net Standard 和 .Net Core 之间的区别,但在弄清楚应该在哪个项目中执行时遇到了问题。首先我将描述当前的解决方案:
数据模型: 如您所料,DataModel 包含我所有的基本模型和 DTO。它被所有其他项目引用。
数据访问: 执行所有数据存储/获取操作(存储库)并仅引用 DataModel
主机服务: 提供数据并引用 DataModel 和 DataAccess 的 RESTful 服务
显示: 前端 MVC 代码,包含 ViewModel、View、Controller 等,并引用 DataModel 和 HostService
据我了解,Display 项目的某些部分确实需要在 .Net 标准项目中,以便在针对 Adroid 和 iOS 的 Xamarin 项目中重用它们,但我对应该移动哪些部分有点困惑到新的 .Net Standard 项目。显然,视图需要保留在 Display 项目中,因为它们包含特定于 Web 前端的 Razor 代码。在我看来,唯一需要移动到新项目的东西是 ViewModels 和 Controllers(以及它们引用的任何东西)?这听起来对还是我过于简化了?我是否遗漏了什么或者有什么我应该知道的问题?
如何确定这些冲突发生的位置以解决它们?我在 Display 项目中查找了目标成员(IE.Microsoft.AspNetCore.Razor.Hosting.RazorConfigurationNameAttribute),但没有找到任何匹配项,所以我不确定如何修复它们。任何指针将不胜感激!
【问题讨论】:
标签: c# asp.net asp.net-mvc .net-standard-2.1