为什么MVC脚手架失败? (w / VS2012与VS2013的错误不同)

时间:2015-04-02 21:56:12

标签: asp.net-mvc visual-studio t4 asp.net-mvc-scaffolding

我正在利用业务对象的大型现有代码库及其关联的数据访问层进入ASP.NET MVC Web应用程序。当脚手架对业务对象的视图时,脚手架引擎在Visual Studio 2013中失败并显示以下消息:

  

错误

     

运行所选代码生成器时出错:   
'方法或操作未实施。'

在Visual Studio 2012中,错误为:

  

错误

     

运行所选代码生成器时出错:   
'扩展程序提供程序未能为此对象返回扩展程序。'

已经尝试过:

  • 将默认模板复制到CodeTemplates文件夹:我有自定义模板可以直接在我直接添加到项目中的一些POCO上工作,但它们在我想要使用的真实对象上失败。
  • 将tryTemplates包装在try / catch块中,catch设置为write to trace:我尝试了这个方法,但从未得到任何跟踪结果。我怀疑错误是在模板本身开始处理之前。

值得注意的是,业务对象分为三个部分类。 “添加视图”窗口中的“模型类”选择列表显示每个类名称中的三个,但是为任何业务对象类选择三个中的任何一个都会产生相同的错误。

如何找出导致实际错误的原因并更正或找到解决方法?

2 个答案:

答案 0 :(得分:0)

检查您使用的EntityFramework版本,如果是> 6.1.0 把它变成6.1.0。或更低。 我不知道为什么会这样,但是当我在我的项目中更改了EntityFramework的版本时,脚手架开始正常工作。

答案 1 :(得分:-1)

根据我的经验,大多数错误要么是代码尚未编译(它有点奇怪,VS有时候也看不到尚未编译的类),或者也许使用了不同的命名空间,

我希望这真的有帮助