I struggled with this error in my development environment:
Method not found: ‘Void Sitecore.ContentSearch.Diagnostics.AbstractLog.SingleWarn(System.String, System.Exception)’.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Sitecore.ContentSearch.SolrProvider.LinqToSolrIndex`1.Execute[TResult](SolrCompositeQuery compositeQuery)
at Sitecore.ContentSearch.Linq.QueryableExtensions.GetResults[TSource](IQueryable`1 source)
After an hour of so of debugging and not understanding that the error is only in my development environment, and not in production, I did a full rebuild, and lo and behold – the error dissapeared?
Well, it turns out that I had the wrong version of the Sitecore.ContentSearch.dll in my development environment. Some NuGet reference had overwritten the correct hotfix dll 3.1.1-r00161 Hotfix 206976-1 with an older version 3.1.1-r00161, and this version does apparently not contain the AbstractLog.SingleWarn(System.String, System.Exception) method.
Morale: If the error message state that your method is missing, it could be true. Check your dependencies before panicking.
MORE TO READ:
- Sitecore 9: System.MissingMethodException: Method not found: ‘System.String Sitecore.ContentSearch.Abstractions.ISettings by DAIVAGNA NANAVATI