删除项目抛出以下异常。这可能是什么原因?

Deleting item is throwing following exception. What can be possible reasons for this?

每当我们删除 Sitecore 中的任何项目时,都会出现以下错误。

Invalid or unsupported character in number: _

Description: Exception has been thrown by the target of an invocation.

Exception Details: System.ArgumentException: Invalid or unsupported character in number: _

来源错误:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

堆栈跟踪:

[ArgumentException: Invalid or unsupported character in number: _]
Lucene.Net.Support.Number.ToInt64(String s) +346
Lucene.Net.Index.SegmentInfos.GetCurrentSegmentGeneration(String[] files) +126
Lucene.Net.Index.SegmentInfos.GetCurrentSegmentGeneration(Directory directory) +33
Sitecore.Search.Index.CreateDirectory(String folder) +197
Sitecore.Search.Index..ctor(String name, String folder) +193

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +342
Sitecore.Reflection.ReflectionUtil.CreateObject(Type type, Object[] parameters) +119
Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert) +103
Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +131
Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] parameters, Boolean assert) +961
Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] parameters, Object obj, Boolean assert, Boolean deferred, IFactoryHelper helper) +552
Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +275
Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert) +579
Sitecore.Search.SearchManager.get_SearchConfiguration() +43
Sitecore.Data.Managers.IndexingManager.UpdateIndexAsync(Database database) +58
Sitecore.MainUtil.RaiseEvent(EventHandler`1 subscribers, Object sender, T eventArgs) +26
Sitecore.Data.Engines.HistoryEngine.AddEntry(HistoryCategory category, HistoryAction action, Item item, ID oldParentId, String additionalInfo) +256
Sitecore.Data.Managers.HistoryProvider.RegisterItemDeleted(Item item, ID oldParentId) +117
Sitecore.Data.Managers.HistoryManager.DataEngine_DeletedItem(Object sender, ExecutedEventArgs`1 e) +83
System.EventHandler`1.Invoke(Object sender, TEventArgs e) +0
Sitecore.Data.Engines.EngineCommand`2.RaiseEvent(EventHandler`1 handlers, Func`2 argsCreator) +129
Sitecore.Data.Archiving.SqlArchive.DoArchiveItems(IEnumerable`1 items, ID archivalId) +1093
Sitecore.Data.DataProviders.NullRetryer.Execute(Func`1 action, Action recover) +289
Sitecore.Data.Archiving.SqlArchive.ArchiveItem(Item item) +572
Sitecore.Shell.Framework.Pipelines.DeleteItems.Delete(List`1 items) +264
Sitecore.Shell.Framework.Pipelines.DeleteItems.Execute(ClientPipelineArgs args) +101

根据 Stacktrace,这似乎是由试图实例化来自 SearchManager 配置的类型的反射系统生成的。

配置的那部分可能有恶意下划线。

查看 /stiecore/admin/showconfig.aspx 并搜索 "searchmanager" 并检查下划线字符的类型属性。

索引好像坏了。 当几个线程试图写一些东西来索引时,我已经看到类似的异常与 Lucene 一起工作。 在大多数情况下,通过进一步重新索引删除带有索引的文件夹会有所帮助。