无法将ASP.NET MVC 5 Controller添加到VS2013中的简单ASP.NET MVC项目

时间:2015-07-24 21:28:14

标签: c# asp.net-mvc-5

重现:
1)在VS 2013 Update 5中,通过选择" ASP.NET Web Application"创建解决方案。来自已安装>模板> Visual C#>网页。确保选择了.NET Framework 4.5.1 2)在出现的New ASP.NET Project对话框中,选择' Empty'并检查MVC选项。单击“确定” 3)当解决方案准备就绪时,建立它 4)在解决方案资源管理器中右键单击Controllers文件夹,然后选择添加>控制器...
5)在Add Scaffold对话框中,选择' MVC 5 Controller - Empty'然后单击“添加” 6)在Add Controller对话框中,将名称更改为HomeController,然后单击Add。我收到以下错误消息(并且没有控制器):

错误

运行所选代码生成器时出错:
'由于以下错误而无法呈现模板:
'编译转换:' Microsoft.VisualStudio.TextTemplating.TextTransformation.Errors'语言不支持#39;在行号' 60'和列号' 14','编译转换:类型或命名空间名称' TypeDescriptor'名称空间中不存在System.ComponentModel' (你错过了一个汇编参考吗?)'在行号' 73'和列号' 87','编译转换:类型或命名空间名称' TypeDescriptor'名称空间中不存在System.ComponentModel' (你错过了一个装配参考吗?)',....

并且错误文本以相同的方式继续多次,具有相同的TypeDescriptor问题描述,除了报告的行号是106,139和172。 我添加了对System.ComponentModel.dll(来自GAC)的引用,但没有成功。我还尝试通过选择' MVC'来生成项目。上面步骤2中的模板并添加另一个控制器;同样的错误。我还从注册表中删除了PendingDeletions条目;清理了我当地的appdata;修复,卸载并重新安装VS2013,一切都没有运气。还有其他想法吗?提前致谢!

1 个答案:

答案 0 :(得分:0)

我在Visual Sudio 2013中的ASP.NET Web API 2应用程序中遇到了同样的错误。以下是我正在使用的解决方法:

1.) Right click folder where you want to create controller
2.) Click Add
3.) Click New Item
4.) Expand Visual C#, Expand Web
5.) At this point I click Web API Controller Class (v2.1)

这对我有用,但右键单击文件夹,选择Add,Controller会出错。