Try our conversational search powered by Generative AI!

'UIDescriptorRegistry.Add(UIDescriptor)' is obsolete: 'Inherit UIDescriptorProvider to add new ui descriptors'



I have a website on Episerver CMS 9.7.2 with an obsolete method warning that I am trying to fix... however, the class the warning recommends I use is the UIDescriptorProvider which has no 'Add' method.  So I'm not sure how I would go about adding a UIDescriptor to the descriptor registry 

In my site initialize method it exists

UiDescriptorRegistry.Service.Add(new UIDescriptor(typeof(IDefaultAllPropertiesView)) { DefaultView = CmsViewNames.AllPropertiesView });

Episerver documentation says the code isn't thread safe and recommends the UIDescriptorProvider instead to add ui descriptors.

Not seeing how that would be done with this class

Haven't been able to find much help online or on the forums for this yet.

Thanks in advanced.


Dec 01, 2017 20:28


You can just implement your own UIDescriptorProvider, like this

public class MyContentUIDescriptorProvider : UIDescriptorProvider

/// <summary>
/// Returns UI descriptors for all content types with a model type in the content type respository.
/// </summary>
/// <returns>A list of <see cref="UIDescriptor"/> instances</returns>
public override IEnumerable<UIDescriptor> GetDescriptors()
  return new [] { 
new UIDescriptor(typeof(IDefaultAllPropertiesView)) { DefaultView = CmsViewNames.AllPropertiesView }

9.7.2 is a bit old, I'm not sure it's like that, but you get the idea
Dec 01, 2017 20:50
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.