asp.net-mvc – 无法添加MVC控制器VS2012给出“对象引用未设置为
我已经搜索广泛,找不到这个问题的地球上的另一个人…
症状是:在Visual Studio 2012中,从VS2010升级的MVC 4.0项目,并配置为从VS2012和VS2010进行双版本编辑.当我右键单击控制器文件夹并从上下文菜单中选择Add-> Controller …时,我从Visual Studio获取“对象引用未设置为对象的实例”错误. 项目中的现有代码运行正常,如果我使用Add-> New Item选项,并从对话框中选择Controller,那么我可以添加一个空白控制器.我只是不能使用上面的方法添加一个类型的控制器. 如果我创建一个新的MVC4项目,那么我可以使用相同的菜单再次添加类型的控制器,所以在Visual Studio的安装中不存在问题,它必须存在于项目文件中.我还检查了我的项目和一个新的MVC项目之间的引用,所有的新项目引用都包含在我的项目中.有谁经历过类似的事情吗?我如何解决这个问题? 解决方法
这个问题似乎是由于MvcScaffolder软件包的不完整安装/注册引起的.
以下过程解决了我的问题. 启动Visual Studio并打开项目.打开包管理器控制台. (这是导致解决方案的“窍门”或缺失的信息…) 这里我看到由用于注册的PowerShell脚本引起的以下错误: New-Object : Could not load file or assembly 'System.Management.Automation,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. At <ProjectPath...>packagesMvcScaffolding.1.0.9toolsregisterWithMvcTooling.ps1:163 char:27 + $newProvider = New-Object <<<< $powerShellScaffolderProviderType($mvcScaffoldingProvider) + CategoryInfo : NotSpecified: (:) [New-Object],FileNotFoundException + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.NewObjectCommand 当我从包管理器控制台检查登记的脚手架时,我得到: PM> get-defaultscaffolder DefaultName ScaffolderName Action MvcScaffolding.Action Controller MvcScaffolding.Controller CustomScaffolder T4Scaffolding.CustomScaffolder CustomTemplate T4Scaffolding.CustomTemplate DbContext T4Scaffolding.EFDbContext Mailer Mailer.Razor Repository T4Scaffolding.EFRepository UnitTest MvcScaffolding.ActionUnitTest View MvcScaffolding.RazorView Views MvcScaffolding.Views 所以很明显,脚手架配置为使用MvcScaffolding包,但包装有注册错误. 快速搜索错误提供了此链接http://mvcscaffolding.codeplex.com/discussions/437692,其中提到了https://visioautomation.codeplex.com/discussions/397034,建议安装实际上是Windows Management Framework 3.0的一部分的PowerShell 3,可从http://www.microsoft.com/en-us/download/details.aspx?id=34595开始.在提示时选择了Windows6.1-KB2506143-x64.msu文件因为我运行Win 7-64位. 安装后重新启动PC,重新打开Visual Studio和项目,并查看包管理器控制台.如果错误消失,那么控制器的问题也是如此. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Asp.net mvc中应该有服务层吗?
- ASP.NET两个截取字符串的方法分享
- asp.net-mvc – ASP.NET MVC – 如何访问除Controller和Vie
- asp.net – Firefox在IIS6上启用了摘要式身份验证的每个HTT
- Asp.Net 中验证 Discuz 的登录密码
- asp.net – PayPal REST API DotNet SDK 1.9.1 – URI端点在
- asp.net – 如何使用jQuery ajax避免快速结果的“闪烁”进度
- 为什么Request.IsAjaxRequest()在ASP.NET MVC 3中不起作用?
- 谈谈基于SQL Server 的Exception Handling
- 一些.net中应该知道的问题
- asp.net-mvc – 在ASP.NET MVC 3应用程序中引用类
- asp.net-mvc – 根据Model值为元素添加样式
- asp.net-mvc – ASP.NET MVC请求处理序列
- asp.net-core – Asp.net vNext中的bindingRedir
- asp.net-mvc – 从MVC 3升级到4后,Razor帮助器方
- 代理模式-aop
- ASP.NET Identity Manager错误:尝试创建“MetaC
- asp.net-mvc – ASP.Net MVC如何确定用户是否可以
- ASP.NET 5针对dnx451 / dnx46性能
- asp.net-mvc – Asp.Net MVC2 RenderAction更改页