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

问题描述 投票:9回答:11

enter image description here

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

c# visual-studio-2013 asp.net-mvc-5
11个回答
2
投票

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

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

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

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


0
投票

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

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

这个工作:

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

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


-1
投票

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


1
投票

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

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


1
投票

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


1
投票

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


0
投票

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

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

0
投票

尝试安装Windows Management Framework:

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

安装后重新启动PC。


0
投票

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

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


0
投票

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


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" />
© www.soinside.com 2019 - 2024. All rights reserved.