I have a major issue with an ECL that work perfectly in 8.5 but no longer works in 9.1. When doing a search via the CME for images in the ECL, I get the following error every time:
Unable to get the search result
Constructor on type 'Tridion.ExternalContentLibrary.Adapters.FromV2.FolderContentV2ToV3Adapter' not found.
at Tridion.ExternalContentLibrary.UI.Model.Services.GeneralImpl.GetListSearch(SearchFilter filter)
at Tridion.ExternalContentLibrary.UI.Model.Services.General.GetListSearch(SearchFilter filter)
at SyncInvokeGetListSearch(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
I have debugged my ECL code and no exception is thrown when performing the search and returning the IFolderContent via this method:
public IFolderContent Search(IEclUri contextUri, string searchTerm, int pageIndex, int numberOfItems)
{
var images = Search(contextUri.PublicationId, searchTerm).ToList();
return Media.HostServices.CreateFolderContent(contextUri, images, false, true);
}
However, when I expect to get results, all I get is the error above from the CME. I cannot find the DLL it is referencing or find any information on how I can resolve this from the API documentation or online docs.
For context, we are going through an upgrade from 8.5 to 9.1 and the code for the ECL is the same as it was in 8.5 only compiled with the latest Tridion.ExternalContentLibrary.V2.dll. This is not installed via the add-on service as documentation says the legacy install is still supported.
Any help from the community on this is much appreciated. I was considering using re-building the ECL as an Add-on, however, the API is the same and so at this point, it seems like a waste of effort as I cannot find the root cause and could end up with the same issue.
Thanks,