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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行所选代码生成器时出错:'对象引用未设置为对象的实例。'错误?相关的知识,希望对你有一定的参考价值。

enter image description here

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

答案

我在Visual Studio 2017中遇到同样的错误我通过此解决方案修复它:

1 - 如果你使用任何数据库,必须安装所有驱动程序(我的意思是Nuget包等...)(我使用mysql db所以我必须先安装MySql安装程序并安装MySql,Data,EntityFrameWorkCore)

2 - 我使用Visual Studio Installer更新我的Visual Studio(您必须在启动时搜索visual studio安装程序并在下次更新时运行它(不需要添加任何新组件或代码只选择Update Button))

它适合我,我希望这会对你有所帮助

另一答案

没有运气,尝试了以下所有答案:

  • 解决方案干净
  • 删除旧迁移
  • 关闭并重新打开Visual Studio
  • 删除Visual Studio临时组件文件夹

这个工作:

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

我的环境:Visual Studio 2019 - Razor Pages - .Net Code 2.2 - Windows 10

另一答案

我在windows10上的vs2017中有同样的错误,请尝试以管理员身份运行vs,希望它也适合你。

另一答案

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

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

另一答案

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

另一答案

我在VS2017上遇到了这个问题,我通过这样做解决了这个问题: 转到C:UsersusernameAppDataLocalMicrosoftVisualStudio15.0_7fca0c70,您会看到一个名为ComponentModelCache的文件夹,只需将其重命名为_ComponentModelCache或其他任何内容,visual studio将再次创建此文件夹。 在VisualStudio文件夹名称15.0_7fca0c70下要注意的一点可能是差异,这取决于您的VS版本。现在你很高兴去。希望它对某人有帮助。

另一答案

此错误与实体框架数据模型有关..对于解决方案执行这些步骤...

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

尝试安装Windows Management Framework:

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

安装后重新启动PC。

另一答案

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

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

另一答案

通过启动一个全新项目来删除错误,因为我最初引用了一个类库,其中包含了我的项目的数据访问和业务逻辑代码。

另一答案

只需在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" />

以上是关于运行所选代码生成器时出错:'对象引用未设置为对象的实例。'错误?的主要内容,如果未能解决你的问题,请参考以下文章

运行所选代码生成器时出错:“预期具有协定名称 "NuGet.VisualStudio.IVsPackageInstallerServices" 的1导出 ——VS2015错误记录

VS 2013 脚手架中的“运行所选代码生成器时出错”

运行所选代码生成器时出错:无法解析类型“Microsoft.EntityFrameworkCore.DbContextOption”的服务

运行所选代码生成器时出错'无法检索'ERP.EF.StockItem'的元数据'找到不明确的匹配项

另一个“运行所选代码生成器时出错:”和“包还原失败。回滚包更改“(解决方案名称)

运行所选代码生成器时出错:“值-1超出了可接受的[0,2147483647]范围。参数名称:value”