运行所选代码生成器时出错:'对象引用未设置为对象的实例。'错误?

时间:2016-08-24 15:16:40

标签: c# visual-studio-2013 asp.net-mvc-5

enter image description here

我已经尝试了所有解决方案,例如修复VS 2013但没有用。 通过右键单击Controller文件夹创建控制器并添加控制器,然后右键单击新创建的控制器的Action并选择Add View,当我尝试创建视图时,它就会发生。它不是一个新项目,它是一个现有的项目。

21 个答案:

答案 0 :(得分:3)

删除解决方案目录中的.vs文件夹对我有用。

答案 1 :(得分:1)

对我来说,错误与我在我的解决方案中有一个项目的事实有关,这个项目是一个.NET Core项目库,并且在包含DbContext的项目中被引用。

删除 - 或者我想改变类型 - .NET核心库解决了问题

答案 2 :(得分:1)

我有同样的错误,我只删除了web项目所在文件夹中的读取权限

答案 3 :(得分:1)

我在Visual Studio 2017中有相同的错误,我可以通过以下解决方案进行修复:

1-如果使用任何数据库,则必须安装所有驱动程序(我指的是Nugget软件包等)。 (我使用MySql db,所以我必须先安装MySql安装程序并安装MySql,Data,EntityFramWorkCore)

2-我更新我的带有Visual Studio安装程序的Visual Studio(您必须在开始时搜索Visual Studio安装程序并在下次更新时运行它(不需要添加任何新组件或代码,只需选择更新按钮))

对我有用,希望对您有帮助

答案 4 :(得分:1)

通过将解决方案中的一些项目从.net标准2.0更改为.Net Framework 4.8,解决了我的问题(具体是“对象引用未设置为对象的实例。”错误)。

这是受到上面Read more的回答的启发,并尝试了删除主要帮助的主要答案ComponentModelCache。

在该项目中,我正在跟踪与我所使用的模型链接的项目,并将其更改为net48。我不必全部更改它们,因此不能完全确定是哪个项目,但是我从Models项目开始,然后跟随其他关键项目将它们更改回net48,直到脚手架再次起作用。

希望这对某人有用,因为它推动了我的成长!

答案 5 :(得分:0)

最后,我的问题是我尝试添加脚手架项目的项目位于网络共享驱动器/映射驱动器上。将项目移动到本地磁盘解决了我的问题。

VS 2013 更新 5

答案 6 :(得分:0)

此错误与实体框架数据模型有关.. for solution执行这些步骤......

  1. 删除您的实体框架数据模型。
  2. 再次从数据库设计中重新生成模型。
  3. 然后重建解决方案......并享受编码。

答案 7 :(得分:0)

对我来说,我将我的软件包从 5.0.5 降级到 5.0.4,我认为一切正常

答案 8 :(得分:0)

我刚刚从DATA CONTEXT CLASS中删除了空格**。为我工作。

添加视图>数据上下文类> REGMVCEntities **(REGISTRATION.Models)

答案 9 :(得分:0)

VS2019中存在相同的错误,在将三个项目合并为一个解决方案后,我似乎错过了项目参考。

我在我的UI项目中引用了API和类库,因此我可以使用db上下文(在API项目中)和类文件进行脚手架,但未能在API项目中引用类库(以前是作为NuGet软件包添加的),它给了我这个错误消息。

卸载了该软件包并添加为项目参考,我的问题似乎已解决。

答案 10 :(得分:0)

我遇到了同样的错误,我只是关闭了web.config文件,现在可以正常工作了。

答案 11 :(得分:0)

在我的主要Standard .Net v2项目旁边,我有一个ASP.Net MVC类库,目标是.Net Framework v4.6.2,在创建了多个控制器之后,突然出现了上述错误。

所以我:

  1. 删除了对类库的引用
  2. 完全删除了类库
  3. 使用.Net Framework v4.6.2

    创建了另一个

    问题解决了。

答案 12 :(得分:0)

我没有重命名,而是离开了DefaultController,然后在创建它后将其重命名。

答案 13 :(得分:0)

尽管我没有立即注意到当我向解决方案添加另一个项目时添加控制器的能力就停止了,但最终我发现这是造成我中断的可重复原因。这对我有用:

  • 除了我要添加Controller的.Net Web App项目之外,我还向解决方案中添加了另一个项目-这给我带来了问题。
  • 我卸载了新项目,然后再次尝试“添加控制器”步骤。这次成功了。
  • 然后我重新加载了新项目并继续工作

我花了几个小时来诊断和解决这个问题。也许这可以帮助别人不要长时间转动车轮!

答案 14 :(得分:0)

尝试以下所有答案时都没有运气:

  • 清洁溶液
  • 删除旧迁移
  • 关闭并重新打开Visual Studio
  • 删除Visual Studio临时组件文件夹

这有效:

  • 卸载程序包(Microsoft.VisualStudio.Web.CodeGeneration.Design),然后从程序包管理器控制台重新安装。

我的环境: Visual Studio 2019- 剃刀页面-.Net代码2.2-Windows 10

答案 15 :(得分:0)

我在VS2017上遇到了这个问题,并通过执行以下操作解决了这个问题:
转到C:\Users\username\AppData\Local\Microsoft\VisualStudio\15.0_7fca0c70,您将看到一个名为ComponentModelCache的文件夹,其名称已像_ComponentModelCache一样重命名,否则Visual Studio将再次创建此文件夹。
在VisualStudio文件夹名称 15.0_7fca0c70 下要注意的一件事可能有所不同,这取决于您的VS版本。现在您可以开始了。希望对别人有帮助。

答案 16 :(得分:0)

只需从

更改Web.Config文件中的ConnectionString
<add name="xxx" connectionString="Data Source=xxx;initial catalog=xxx;Persist Security Info=True;User ID=xxxx;Password=xxxx;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

收件人

<add name="xxx" connectionString="metadata=res://*/EFMOdel.csdl|res://*/EFMOdel.ssdl|res://*/EFMOdel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxxx;initial catalog=xxxx;persist security info=True;user id=xxxx;password=xxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

答案 17 :(得分:0)

通过启动一个新项目消除了该错误,因为我最初引用了一个类库,该类库为我的项目提供了数据访问和业务逻辑代码。

答案 18 :(得分:0)

或者也许像我一样你没注意到'数据上下文类'字段是空白的。哎呀。如果是这样,只需选择您的数据上下文类,然后重试。

这种情况确实应该有更好的错误。

答案 19 :(得分:0)

尝试安装Windows Management Framework:

https://www.microsoft.com/en-us/download/details.aspx?id=34595

安装后重启电脑。

答案 20 :(得分:-2)

我在Windows10上的vs2017中有相同的错误,请尝试以管理员身份运行vs,希望它也对您有用。