我创建了一个针对 net461 的 .Net Core MVC6 应用程序。我使用了一个我非常熟悉的项目结构,其中我将数据、模型和服务类放置在单独的类库项目中,并且 Web 项目引用这些项目。
当我尝试搭建控制器时,我收到一条错误,指出我正在搭建的模型存在多个匹配类型。
如果我将所有代码移动到一个项目中,脚手架就会成功。如果我将上下文移至 Web 项目并将模型保留在单独的项目中,我会收到一条错误,指出未找到匹配类型。
还有其他人看到过同样的问题吗?是否有解决方法仍然使用这种类型的架构?
Update
我开始了另一个项目,但总是遇到这个问题。当模型仅使用 1 个额外项目时,我会收到此错误。附件是我收到的错误。
脚手架错误 https://i.stack.imgur.com/O9uzt.png
Update 2
当上下文和模型位于同一项目中时,我收到此错误。
编辑 dbContext 时出错 https://i.stack.imgur.com/GAWXG.png
无法发表评论,所以我必须写一个答案。我也遇到了同样的问题,并在 Scaffolding github 存储库上打开了它。这是response https://github.com/aspnet/Scaffolding/issues/249:
目前脚手架存在问题,它不支持
正确地对当前项目之外的类进行建模。
作为解决方法,您可以将模型临时添加到您的 Web 项目中
然后在搭建脚手架后将其移至BLL/DAL项目中。
另外他们还开了这个问题是一个错误 https://github.com/aspnet/Scaffolding/issues/251,引用:
如果模型类处于依赖项(项目/库)中,脚手架将失败
正在运行脚手架的项目的名称。第251章
项目 A 依赖于项目 B。项目 B 具有模型类 If
您尝试使用来自的模型类在项目 A 上运行脚手架
项目 B,失败并出现以下错误:No model type returned for
类型:
因此,从 RC2 开始,这是脚手架工具中的一个错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)