awr*_*ley 65 asp.net-mvc-scaffolding visual-studio-2013 asp.net-mvc-5
我已更新到Visual Studio 2013更新2,现在我无法使用脚手架控制器.
问题不是项目特定的:当我尝试脚手架控制器时,我在ALL和ANY项目中收到以下错误:
There was an error running the selected code generator:
'Exception has been thrown by the target of an invocation.'
Run Code Online (Sandbox Code Playgroud)
它在更新到Visual Studio 2013更新2之前正在工作.
用谷歌搜索了这个问题,但各种建议都没有奏效
例如:
在我的上下文中评论OnModelCreating;
删除MvcScaffolding等软件包(我没有安装,也不能用于任何项目);
我已经修改/定制了一些模板,但它在更改后正在运行.
我卸载了Visual Studio 2013 Update 2,从而恢复到Visual Studio版本12.0.21005.1 REL.
问题已经消失.因此,问题肯定与Update 2有关.
有没有人(包括微软)知道修复?
Farruk Subhani的回答没有解决这个问题:问题清楚地表明删除对MVCScaffolding的引用并不能解决问题.
我已经添加了200点奖金,请按照明确说明的方式解决问题.
reg*_*bsb 35
嘿,对于你们所有人都没有用的,真正的答案是你需要删除web.config上有一个configSource的ANYTHING,并且需要内联连接字符串.
编辑:
有人指出,它必须是唯一的<configSettings>,<appSettings>以及<connectionStrings>标签不使用configSource属性.并且他仍然能够在其他地方使用configSource属性,例如重写器标签.
我认为工具不能跟随configSource位置使用它所使用的东西,如连接字符串和应用程序设置.
如果没有修复,微软应该在这个问题上.
编辑2:
甚至认为@awrigley已将他的答案标记为正确,这是一个已知的Visual Studio错误.我已经设法告诉我们,我认为很快就会得到一些关注. https://github.com/aspnet/Tooling/issues/169#issuecomment-144197015
awr*_*ley 12
事情的组合对我有用:
升级到Visual Studio 2013 Update 3.
将实体框架升级到6.1.1
修改上下文配置以使用IDbSet <...>而不是DbSet <...>(我听说这会影响使用异步操作,但在我的情况下显然不是这样,因为我在登录操作中使用它等,由ASP.NET Identity 2示例Nuget包提供).
这个组合很有效,我不知道.但是,鉴于MS的雷鸣般的沉默,我可能并不孤单.我想更新2只是没有用...
解
确保部分
<connectionStrings>..</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
是之后
<configSections>..</configSections>
Run Code Online (Sandbox Code Playgroud)