Lucene.NET 4.8.0-beta00012在.NET Core 5.0环境下创建StandardAnalyzer实例失败求助
这种类型初始化异常(提示找不到Lucene.Net.Support.Arrays.AsList方法),我之前处理过类似的情况,大概率是依赖包版本不匹配或者项目缓存问题导致的,给你几个具体的解决步骤:
确保Lucene.Net.Support包版本完全匹配
你用的是Lucene.NET 4.8.0-beta00012,对应的Lucene.Net.Support必须是同一个版本。打开NuGet包管理器,检查已安装的包:如果Lucene.Net.Support版本不对,先卸载它,再安装和主包完全一致的版本。不同版本的Support包和主包混用很容易出现这类方法找不到的问题。清理项目缓存并重建
有时候项目的bin/obj目录里的缓存文件会导致依赖加载异常,你可以:- 右键项目选择「清理」
- 手动删除项目根目录下的
bin和obj文件夹 - 重新右键项目选择「生成」或「重建」
确认项目目标框架和依赖还原状态
检查你的项目属性,确保目标框架确实是.NET Core 5.0。如果之前修改过框架版本,可能需要重新执行NuGet还原(右键项目 -> 「还原NuGet包」),确保所有依赖都正确下载到本地。排查第三方包的版本冲突
有些其他第三方NuGet包可能会间接引入不同版本的Lucene.Net组件,导致版本冲突。你可以在NuGet包管理器的「已安装」标签下,筛选所有以Lucene.Net开头的包,确保它们的版本全部是4.8.0-beta00012。如果发现有不一致的,卸载对应的冲突包后重新安装匹配版本。
如果以上步骤都试过还是不行,建议创建一个全新的最小测试项目:只引用Lucene.NET和Lucene.Net.Support的对应版本,写一段简单的初始化代码测试,看看是否能正常运行,这样可以排除你现有项目中其他依赖的干扰。
内容的提问来源于stack exchange,提问作者Sumit

