C# 将.Net核心(2.2)web应用程序移植到.Net标准(2.1)以用于Xamarin项目
我最近在.NETCore中构建了一个MVCWeb项目,现在我想为它构建一个Android和iOS前端。我理解.Net标准和.Net核心之间的区别,但我在确定哪个项目应该包含哪些内容时遇到了问题。首先,我将描述当前的解决方案: 数据模型: 正如您所料,DataModel包含我的所有基本模型和DTO。它被所有其他项目引用 数据访问: 执行所有数据存储/采集操作(存储库)并仅引用数据模型 主机服务: 提供数据并引用DataModel和DataAccess的RESTful服务 显示: 前端MVC代码,包含视图模型、视图、控制器等,并引用数据模型和主机服务 我的理解是,为了在针对Adroid和iOS的Xamarin项目中重用它们,Display项目的某些部分确实需要放在.Net标准项目中,但是我有点困惑,应该将哪些部分转移到新的.Net标准项目中。显然,视图需要保留在显示项目中,因为它们包含特定于web前端的Razor代码。在我看来,唯一需要移动到新项目的是视图模型和控制器(以及它们引用的任何对象)?这听起来是对的还是我过于简化了?我是否遗漏了什么,或者有什么我应该知道的问题 FWIW,我运行了.Net portability Analyzer并收到了以下结果: 它指出这些项目与.Net标准不兼容:C# 将.Net核心(2.2)web应用程序移植到.Net标准(2.1)以用于Xamarin项目,c#,asp.net,asp.net-mvc,.net-standard-2.1,C#,Asp.net,Asp.net Mvc,.net Standard 2.1,我最近在.NETCore中构建了一个MVCWeb项目,现在我想为它构建一个Android和iOS前端。我理解.Net标准和.Net核心之间的区别,但我在确定哪个项目应该包含哪些内容时遇到了问题。首先,我将描述当前的解决方案: 数据模型: 正如您所料,DataModel包含我的所有基本模型和DTO。它被所有其他项目引用 数据访问: 执行所有数据存储/采集操作(存储库)并仅引用数据模型 主机服务: 提供数据并引用DataModel和DataAccess的RESTful服务 显示: 前端MVC代码,
如何确定这些冲突发生的位置以解决它们?我在Display项目中查找了目标成员(即Microsoft.AspNetCore.Razor.Hosting.RazorConfiguration NameAttribute),但没有找到任何匹配项,因此我不确定如何修复它们。任何指点都将不胜感激 对于那些提出这个问题并希望做同样事情的人,以下是我进一步研究的结果 简单的答案是你不能 答案很长: 我的web代码使用MVC(模型-视图-控制器)编写,而Xamarin使用MVVM(模型-视图-模型)。这两个基础设施不兼容。它们都有一个共同的模式,但这就是相似之处的终结 在MVC中,视图向控制器请求操作。然后,控制器从模型中检索数据,创建组成视图所需的任何必要数据结构,然后返回使用数据结构显示视图的视图。数据结构可以是一个独立的项,如List