gpt4 book ai didi

asp.net-mvc - 无法添加 MVC Controller VS2012 给出 "object reference not set to an instance of an object"

转载 作者:行者123 更新时间:2023-12-03 14:45:42 24 4
gpt4 key购买 nike

我已经进行了广泛的搜索,但在这个星球上找不到另一个有这个问题的人......
症状是:在 Visual Studio 2012 中,在从 VS2010 升级并配置为从 VS2012 和 VS2010 进行双版本编辑的 MVC 4.0 项目上。当我右键单击 Controllers 文件夹并从上下文菜单中选择 Add->Controller... 时,我从 Visual Studio 收到“未将对象引用设置为对象的实例”错误。
项目中的现有代码运行良好,如果我改为使用 Add->New Item 选项,并从对话框中选择 Controller,那么我可以添加一个空白 Controller 。我只是无法使用上述方法添加类型化 Controller 。
但是,如果我创建了一个新的 MVC4 项目,那么我可以使用相同的菜单再次添加类型化 Controller ,因此问题在 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...>\packages\MvcScaffolding.1.0.9\tools\registerWithMvcTooling.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这建议安装 PowerShell 3,它实际上是 Windows Management Framework 3.0 的一部分,可从 http://www.microsoft.com/en-us/download/details.aspx?id=34595 获得。 .我在提示时选择了 Windows6.1-KB2506143-x64.msu 文件,因为我运行的是 Win 7-64 位。

安装后重启电脑,重新打开Visual Studio和项目,查看Package Manager Console。如果错误消失了,那么 Controller 问题也消失了。

关于asp.net-mvc - 无法添加 MVC Controller VS2012 给出 "object reference not set to an instance of an object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com