MyController:ModelDrivenControllerBase<EcoProject1EcoSpace>
mvc 或 webapi netcore 项目中的代码显示错误"the type 'MDrivenTemplateProj.EcoProject1EcoSpace' cannot be used as type parameter 'ESType' in the generic type or method 'ModelDrivenControllerBase<ESType>'. There is no implicit reference conversion from 'MDrivenTemplateProj.EcoProject1EcoSpace' to 'Eco.Handles.DefaultEcospace"
+ 烦人的add ref to the 'MDriven.Handles.netStandard, version=7.0.0.0, culture=neutral, publickeytoken=null'
. (始终是 7.0.0.0 版!)
您能否告知如何避免此类错误?
我正在尝试使用 NetFramework 4.x 开发具有参考 MDrivenEcoSpaceAndModelForNetStandard 项目的 webapi netcore 3.1 应用程序。经验。
似乎对于 netcore 项目来说这是错误的方式。
谢谢!
问问题
47 次
2 回答
1
nuget 上针对 .netStandard2.1 和 .net5 的全新 MDriven 包现已推出。它们具有正确的构建版本号,并且在包中比旧的 Eco 包更细化。
于 2021-10-11T17:03:05.383 回答
0
旧样式仍然有效:
- 参考您的 netcore webapi 中的 MDrivenEcoSpaceAndModelForNetStandard 项目
- 将 ControllerBase 作为 MVC 控制器的基类
- 在控制器的构造函数中创建并激活新的生态空间
_es = new MDrivenTemplateProj.EcoProject1EcoSpace();_es.Active = true;
- 如果你想使用虚拟机,你可以调用 CreateFromViewModel 方法,例如。
var vmc = Eco.ViewModel.Runtime.ViewModelHelper.CreateFromViewModel("SampleViewModel", this._es, null, false);
MDrivenEcoSpaceAndModelForNetStandard 项目中仍需要手动修复:
- EcoProject1EcoSpace.Designer.cs - this.persistenceMapperSharer1.MapperProviderTypeName 自动生成的值不正确
- EcoProject1PMP.Designer.cs - this.EcoSpaceTypeName 自动生成的值不正确
- 准备好您在 VS EcoProject 建模器中的构建在上述修复后将无法启动持久性。它会显示“没有找到合适的构造函数”消息
于 2021-10-10T11:12:55.733 回答