关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。

这篇具有很好参考价值的文章主要介绍了关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

起因:

之前版本vs2022生成EF模型一直没有问题,在更新了最新的vs2022之后,版本号17.6+,出现此问题:

正在运行转换:System.NullReferenceException:未将对象引用设置到对象的实例。

具体错误如下:

正在运行转换: System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Microsoft.VisualStudio.TextTemplating548217BD8377E326AEE514EAE722C9BA6586C4151F980CA7BACC70A5732FC55F588FBC8794326CD64388F9B4C50AD7729497DE610EBC8D6F64F48BB130F68063.GeneratedTextTransformation.DynamicTextTransformation.get_GenerationEnvironment()
在 Microsoft.VisualStudio.TextTemplating548217BD8377E326AEE514EAE722C9BA6586C4151F980CA7BACC70A5732FC55F588FBC8794326CD64388F9B4C50AD7729497DE610EBC8D6F64F48BB130F68063.GeneratedTextTransformation.EntityFrameworkTemplateFileManager..ctor(Object textTransformation)
在 Microsoft.VisualStudio.TextTemplating548217BD8377E326AEE514EAE722C9BA6586C4151F980CA7BACC70A5732FC55F588FBC8794326CD64388F9B4C50AD7729497DE610EBC8D6F64F48BB130F68063.GeneratedTextTransformation.EntityFrameworkTemplateFileManager.VsEntityFrameworkTemplateFileManager..ctor(Object textTemplating)
在 Microsoft.VisualStudio.TextTemplating548217BD8377E326AEE514EAE722C9BA6586C4151F980CA7BACC70A5732FC55F588FBC8794326CD64388F9B4C50AD7729497DE610EBC8D6F64F48BB130F68063.GeneratedTextTransformation.EntityFrameworkTemplateFileManager.Create(Object textTransformation)
在 Microsoft.VisualStudio.TextTemplating548217BD8377E326AEE514EAE722C9BA6586C4151F980CA7BACC70A5732FC55F588FBC8794326CD64388F9B4C50AD7729497DE610EBC8D6F64F48BB130F68063.GeneratedTextTransformation.TransformText() WebApplication7 F:\WorkSpaces\D3MVCProject\WebApplication7\WebApplication7\Models\Model1.tt 1

同样操作,以前是可行的,但是更新完之后就不行了。经排查,受到一位大佬的启发,此为vs2022工具问题,微软官方暂时没有给出解决方案。

如果想要避免此错误:

方案如下:

方案一:

不要更新最新版,回退之前版本

方案二:

修改配置文件:

具体文件在你的vs安装目录下,这是默认安装路径

C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes

在这个目录下有一个文件名为EF6.Utility.CS.ttinclude的配置文件

关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。

需要找到以下内容进行修改:

关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。

大约在1920行左右,需要将1920行的内容修改为1922行的内容即可。

可以在文件中搜索DynamicTextTransformation这个方法,然后找到_generationEnvironment,修改里面的内容,

内容修改为_generationEnvironment = type.GetProperty("GenerationEnvironment");

附上具体的方法代码:

private DynamicTextTransformation(object instance)
{
_instance = instance;
Type type = _instance.GetType();
_write = type.GetMethod("Write", new Type[] { typeof(string) });
_writeLine = type.GetMethod("WriteLine", new Type[] { typeof(string) });
//_generationEnvironment = type.GetProperty("GenerationEnvironment", BindingFlags.Instance | BindingFlags.NonPublic); //此为原来的代码
//_generationEnvironment = type.GetProperty("GenerationEnvironment",BindingFlags.Instance| System.out.println); //这一行是测试代码,经测试,这个方法也不行
_generationEnvironment = type.GetProperty("GenerationEnvironment");  //这个是正确代码,使用这行代码,可行
_host = type.GetProperty("Host");
_errors = type.GetProperty("Errors");
}

修改之后保存,重启vs,重新创建项目即可解决问题。

翻译

搜索

复制文章来源地址https://www.toymoban.com/news/detail-480076.html

到了这里,关于关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .NET6.0 EF Core 之 DB First生成实体类

    EF Core可以使用DB First模式生成实体类具体步骤如下: 因为.NET Core中默认不包含EF Core的工具和程序包,需要通过NuGet管理器安装对应的工具和程序包,这里使用SQL Server数据库。 Microsoft.EntityFrameworkCore.SqlServer:SQL Server数据库EF提供程序 Microsoft.EntityFrameworkCore.Design:设计时使用到

    2024年02月06日
    浏览(41)
  • Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)

    目录 【前言】 一、scanf报错示例 二、解决使用scanf报错的方法 解决方法1(不推荐) 解决方法2(不推荐) 解决方法3(强烈推荐) 第一步 第二步 第三步 三、效果演示(方法三) 【最后】 🎈个人主页:库库的里昂  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏   ✨其他

    2024年02月12日
    浏览(41)
  • Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,前面一章给大家介绍了Visual Studio 2022 的安装和使用!    ⛳️ 但是 Visual Studio 2022 并不是按照标准的C语言标准,所以使

    2024年02月16日
    浏览(50)
  • 使用 VS2022 内置 Git 异常,报错“长度不能小于0” 解决办法

    关于使用 VS2022 内置 Git 异常,报错“长度不能小于0”的问题 需要在注册表(regedit)中增加项 路径 [计算机HKEY_LOCAL_MACHINESOFTWARETECOcular.3agentconfig] 下新增 [字符串值] hookapi_disins [数值数据] 1 可直接运行命令行添加注册表 路径 [计算机HKEY_LOCAL_MACHINESOFTWARETECOcular.3agent

    2024年02月11日
    浏览(31)
  • 【IDEA使用指南】使用Hibernate框架的Java项目,如何通过数据库表自动生成实体模型?

    步骤1:找到并打开“Persistence”工具栏。 如下图所示,找到 “View - Tool Windows - Persistence”,点击“Persistence”。 步骤2:找到并打开“Import Database Schema” 窗口。 在开发工具左下角会弹出持久化配置的工具栏“Persistence”,如下图所示。单击之后有一个弹框,找到弹框中的项

    2024年02月05日
    浏览(51)
  • 关于访问达梦数据库报错的常见问题

    【问题描述】 : 连接数据库时出现报错:登录服务器失败。 客户端管理工具连接数据库报错:错误号 6001,错误消息:网络通信异常。如下图所示: ​ 或命令行连接数据库报错:socket 连接失败或 Create SOCKET connection failure。如下图所示: ​ 【问题分析】 : 使用 DM 数据库时

    2024年02月05日
    浏览(103)
  • VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法

    在我们对VS的刚开始使用时,经常会遇见函数不安全而报错的问题,如  有如下三种解决办法(个人推荐第三种): 1.文件包含 #define _CRT_SECURE_NO_WARNINGS 这里又分为两种情况: (1)在 .c 文件中 有些项目比较简单,可能一个.c文件就能完成代码,这个时候把#define _CRT_SECU

    2024年02月07日
    浏览(35)
  • Visual Studio 2022报错:项目的目标框架不包含实体框架运行时程序集

    1、右键单击项目-属性,打开如下图 2、如上图,点击红框部分进入下载页面 这是网址:https://dotnet.microsoft.com/zh-cn/download/visual-studio-sdks?cid=getdotnetsdk 3、点击上图红框部分,下载安装即可,不需要重启电脑。 win11系统实测安装X64版本的不行。大家根据自己的版本试一试。

    2024年02月12日
    浏览(45)
  • 【EF Core】主从实体关系与常见实体关系的区别

    上次老周扯了有关主、从实体的话题,本篇咱们再挖一下,主、从实体之间建立的关系,跟咱们常用的一对一、一对多这些关系之间有什么不同。 先看看咱们从学习数据库开始就特熟悉的常用关系——多对多、一对一、一对多说起。数据实体之间会建立什么样的关系,并不是

    2024年02月16日
    浏览(30)
  • 记录一次EF实体跟踪错误

    在我写文章编辑接口的,出现了一个实体跟踪的错误,详情如下 System.InvalidOperationException: The instance of entity type \\\'Tag\\\' cannot be tracked because another instance with the same key value for {\\\'Id\\\'} is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attach

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包