Bug Report T360574
Visible to All Users

ASPxCriteriaPropertyEditor throws CannotResolveClassInfoException if an abstract DC interface is selected as a data type

created 9 years ago

To reproduce:
- Run the FeatureCenter.Web demo
- Navigate to the Property Editors / Criteria Properties view
- Create a new object
- Select "Code Provider" as the DataType property value
->
DevExpress.Xpo.Exceptions.CannotResolveClassInfoException occurred
  Message=Cannot resolve ClassInfo for type '[DevExpress.Xpo.v15.2, Version=15.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a]DevExpress.Xpo.Helpers.IPersistentInterfaceData`1[[FeatureCenter.Module.DC.ICodeProvider, FeatureCenter.Module, Version=1.0.5928.9064, Culture=neutral, PublicKeyToken=null]]'.
  Source=DevExpress.Xpo.v15.2
  TypeName=DevExpress.Xpo.Helpers.IPersistentInterfaceData`1[[FeatureCenter.Module.DC.ICodeProvider, FeatureCenter.Module, Version=1.0.5928.9064, Culture=neutral, PublicKeyToken=null]]
  StackTrace:

> DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.Metadata.XPDictionary.GetClassInfo(System.Type classType) Line 2927 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.Session.GetClassInfo<DevExpress.Xpo.Helpers.IPersistentInterfaceData<FeatureCenter.Module.DC.ICodeProvider>>() Line 2773 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.XPCollection<DevExpress.Xpo.Helpers.IPersistentInterfaceData<FeatureCenter.Module.DC.ICodeProvider>>.XPCollection(DevExpress.Xpo.Session session, DevExpress.Data.Filtering.CriteriaOperator theCriteria, DevExpress.Xpo.SortProperty[] sortProperties) Line 1132 C#
  DevExpress.ExpressApp.Xpo.v15.2.dll!DevExpress.ExpressApp.Xpo.PersistentInterfaceHelper.InnerHelper<FeatureCenter.Module.DC.ICodeProvider>.CreatePersistentInterfaceMorpher(DevExpress.Xpo.Session session, DevExpress.Data.Filtering.CriteriaOperator criteria, DevExpress.Xpo.SortingCollection sorting, bool inTransaction) Line 1380 C#
  DevExpress.ExpressApp.Xpo.v15.2.dll!DevExpress.ExpressApp.Xpo.PersistentInterfaceHelper.CreateCollection(DevExpress.Xpo.Session session, System.Type persistentInterfaceType, DevExpress.Data.Filtering.CriteriaOperator criteria, DevExpress.Xpo.SortingCollection sorting, bool inTransaction) Line 1438 C#
  DevExpress.ExpressApp.Xpo.v15.2.dll!DevExpress.ExpressApp.Xpo.XPObjectSpace.CreateCollection(System.Type objectType, DevExpress.Data.Filtering.CriteriaOperator criteria, System.Collections.Generic.IList<DevExpress.Xpo.SortProperty> sorting, bool inTransaction) Line 415 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.BaseObjectSpace.CreateCollection(System.Type objectType, DevExpress.Data.Filtering.CriteriaOperator criteria, System.Collections.Generic.IList<DevExpress.Xpo.SortProperty> sorting) Line 317 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.BaseObjectSpace.CreateCollection(System.Type objectType, DevExpress.Data.Filtering.CriteriaOperator criteria) Line 320 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.CriteriaPropertyEditorHelper.CreateFilterControlDataSourceInternal(System.Type itemType, DevExpress.ExpressApp.IObjectSpace objectSpace, System.Collections.Generic.IEnumerable<DevExpress.XtraEditors.Filtering.IFilterParameter> parameters) Line 157 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.CriteriaEditorHelper.GetDataColumnInfos() Line 339 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.ASPx.ASPxCriteriaPropertyEditor.CreateDataColumnInfoList() Line 86 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.ASPx.ASPxCriteriaPropertyEditor.PopulateColumns(DevExpress.ExpressApp.Editors.CriteriaEditorHelper editorHelper, System.Collections.Generic.List<DevExpress.ExpressApp.Web.TestScripts.ITestable> testableControls) Line 93 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.ASPx.ASPxCriteriaPropertyEditor.ReadEditModeValueCore() Line 318 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.WebPropertyEditor.ReadValueCore() Line 329 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.PropertyEditor.ReadValue() Line 229 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.PropertyEditor.Refresh() Line 223 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.ObjectView.RefreshViewItemByPropertyName(string propertyName) Line 70 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.DetailView.notifyPropertyChanged_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) Line 78 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.PersistentBase.RaisePropertyChangedEvent(string propertyName) Line 947 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.PersistentBase.TriggerObjectChanged(DevExpress.Xpo.ObjectChangeEventArgs args) Line 802 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.XPBaseObject.TriggerObjectChanged(DevExpress.Xpo.ObjectChangeEventArgs args) Line 1268 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.PersistentBase.OnChanged(string propertyName, object oldValue, object newValue) Line 792 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.XPBaseObject.OnChanged(string propertyName, object oldValue, object newValue) Line 1185 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.PersistentBase.SetPropertyValue<System.__Canon>(string propertyName, ref System.__Canon propertyValueHolder, System.__Canon newValue) Line 846 C#
  FeatureCenter.Module.dll!FeatureCenter.Module.PropertyEditors.CriteriaProperties.Criteria.set(string value) Line 58 C#
  FeatureCenter.Module.dll!FeatureCenter.Module.PropertyEditors.CriteriaProperties.DataTypeName.set(string value) Line 32 C#
  FeatureCenter.Module.dll!FeatureCenter.Module.PropertyEditors.CriteriaProperties.DataType.set(System.Type value) Line 46 C#
  [Lightweight Function]
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.Metadata.ReflectionMemberInfo.DelegateFieldAccessor.SetValue(object theObject, object value) Line 3579 C#
  DevExpress.Xpo.v15.2.dll!DevExpress.Xpo.Metadata.ReflectionMemberInfo.SetValue(object theObject, object theValue) Line 3728 C#
  DevExpress.ExpressApp.Xpo.v15.2.dll!DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource.SetValue(DevExpress.ExpressApp.DC.IMemberInfo memberInfo, object obj, object value) Line 832 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.DC.XafMemberInfo.SetValue(object obj, object value) Line 112 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.PropertyEditor.PropertyValue.set(object value) Line 302 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.ASPx.ASPxPropertyEditor.WriteValueCore() Line 82 C#
  DevExpress.ExpressApp.v15.2.dll!DevExpress.ExpressApp.Editors.PropertyEditor.WriteValue() Line 250 C#
  DevExpress.ExpressApp.Web.v15.2.dll!DevExpress.ExpressApp.Web.Editors.WebPropertyEditor.EditValueChangedHandler(object sender, System.EventArgs e) Line 143 C#
  DevExpress.Web.v15.2.dll!DevExpress.Web.ASPxComboBox.OnSelectedIndexChanged(System.EventArgs e) Line 938 C#
  DevExpress.Web.v15.2.dll!DevExpress.Web.ASPxComboBox.RaiseValueChanged() Line 832 C#
  DevExpress.Web.v15.2.dll!DevExpress.Web.ASPxEdit.RaisePostDataChangedEvent() Line 2908 C#
  DevExpress.Web.v15.2.dll!DevExpress.Web.ASPxWebControl.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() Line 2444 C#
  System.Web.dll!System.Web.UI.Page.RaiseChangedEvents() Unknown
  System.Web.dll!System.Web.UI.Page.ProcessRequestMain(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint) Unknown
  System.Web.dll!System.Web.UI.Page.ProcessRequest(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint) Unknown
  System.Web.dll!System.Web.UI.Page.ProcessRequest() Unknown
  System.Web.dll!System.Web.UI.Page.ProcessRequestWithNoAssert(System.Web.HttpContext context) Unknown
  System.Web.dll!System.Web.UI.Page.ProcessRequest(System.Web.HttpContext context) Unknown
  App_Web_flzuxemn.dll!ASP.default_aspx.ProcessRequest(System.Web.HttpContext context) C#

Answers approved by DevExpress Support

created 9 years ago

We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

    Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

    Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.