我正在使用VS 2012(Ultimate)以及Entity Framework Power Tools Beta 2和实体框架5.0(使用nuget)。
我创建了一个DbContext类。当我右键单击解决方案资源管理器中的相应文件并选择“实体框架/查看实体数据模型(只读)”时,我收到错误“无法在所选文件中找到从DbContext派生的可构造类型。 “ VS 2012中的错误。
我尝试了http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx中描述的解决方法,但我的注册表中没有“HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0_Config \ BindingPaths”中的密钥“{BFC24BF4-B994-4757-BCDC-1D5D2768BF29}” \”。
重新启动visual studio并执行相同的步骤后,会弹出一个对话框,指示“调用目标已抛出异常”。
顺便说一句。我能够执行从我的DbContext创建数据库的测试应用程序,O可以在此数据库中插入/删除/ etc数据。
非常感谢任何帮助/提示。
亲切的问候, Merijn
答案 0 :(得分:4)
卸载 VSCommands for Visual Studio 2012 应该让事情再次发挥作用。遗憾的是,此扩展程序与EF Power Tools无法很好地兼容。它将自己版本的EntityFramework.dll加载到主VS进程中,这会阻止DbContext发现逻辑正常工作。
答案 1 :(得分:3)
正如Brice所说,这可能是由Visual Studio Extensions的兼容性问题引起的。 最新版本的VSCommands解决了这个问题。你可以从Visual Studio Gallery获得。
非常感谢Brice和EF团队帮助他们诊断问题!
答案 2 :(得分:0)
即使没有其他答案中列出的扩展,也间歇性地看到了这个错误,我发现删除了解决方案的本地.suo文件工作 - 虽然这是一个非常多的其他失败的答案!
答案 3 :(得分:0)
我在使用不同的Visual Studio扩展时遇到了类似的问题。在我的例子中,它是Visual Studio Tools for Git(版本1.0.0.0)。
我刚刚禁用了扩展,重新启动了VS2012,我可以使用从代码第一个EF项目中生成模型。