ASP.NET MVC Core/6:EF 6 脚手架错误

Posted

技术标签:

【中文标题】ASP.NET MVC Core/6:EF 6 脚手架错误【英文标题】:ASP.NET MVC Core/6: EF 6 scaffolding error 【发布时间】:2016-10-10 00:35:15 【问题描述】:

我正在使用 EF 6MVC Core/6。我的模型和数据库上下文在单独的项目中,我使用 DI 将数据库上下文注入控制器。但是当我尝试使用EF 6 作为数据上下文类来搭建控制器时,我收到以下错误:

错误

运行所选代码生成器时出错: '名称为 MyProject.DAL.ModeIs.MyModel 的类型不存在 Microsoft.VisuaIStudio.Web.CodeGeneration.ActionInvokerb__6_0() 微软。 Extensions.CommandLineUtiIs.CommandLineAppIication.Exe 可爱(字符串 [] 参数) Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execu te(String[] args)'

【问题讨论】:

【参考方案1】:

RC2 是第一个允许您在解决方案中包含非 ASP.NET Core 项目的版本。根据我的经验,我了解到只有在两个项目都是在 Visual Studio 2015 Update 2 中创建并且它们都使用 .NET Framework 4.6.1 时才有效。

关于这个问题,issue on GitHub 已经有很长时间了。我一直在努力解决该线程中提供的解决方法,并且不能再浪费时间搞乱它了。所以我决定等到功能版本出来。我将所有共享代码放在一个 ASP.NET Core (.NET Framework) 项目中。通过创建一个空项目并删除除 project.json 之外的所有内容,使其看起来像一个类库项目。然后,该堆栈不支持的任何功能,我都放入了一个 WebAPI 2 方法,我可以从我的 RC2 项目中调用它。

【讨论】:

【参考方案2】:

这可能为时已晚,但是我遇到了同样的问题,我通过添加到 project.json 来解决它:

"dependencies": 
  .....

    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": 
      "version": "1.1.0-preview4-final",
      "type": "build"
    ,
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": 
      "version": "1.1.0-preview4-final",
      "type": "build"
   .....

"tools": 
 .....
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": 
      "version": "1.1.0-preview4-final",
      "imports": [
        "portable-net45+win8"
      ]
    ,
......
  ,

【讨论】:

以上是关于ASP.NET MVC Core/6:EF 6 脚手架错误的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC Core/6:多个提交按钮

Asp.net Core 6.0 使用EF Model First 连接mysql

Asp.net Core 6.0 使用EF Model First 连接mysql

从 MVC 到使用 ASP.NET Core 6.0 的Minimal API

ASP.NET Core 6框架揭秘实例演示[02]:基于路由MVC和gRPC的应用开发

《ASP.NET Core 6框架揭秘》实例演示[02]:基于路由MVC和gRPC的应用开发