In the 14.2 release, we have fixed the Saving an ASP.NET page at design time is very slow in Visual Studio 2013, 2012, 2010 issue. Refer to the issue description to learn more about its causes and possible workarounds.
We found that if controls belong to different namespaces within the same assembly, Visual Studio iterates through every class several times (for internal purposes) several times. Starting with version v14.2, we merged namespaces to prevent additional iterations.
1. The classes of the following namespaces have been moved to the DevExpress.Web namespace.
- ASPxCallback
- ASPxCallbackPanel
- ASPxCloudControl
- ASPxClasses
- ASPxDataView
- ASPxDocking
- ASPxEditors
- ASPxFileManager
- ASPxFormLayout
- ASPxGlobalEvents
- ASPxGridView
- ASPxGridView.Export
- ASPxGridLookup
- ASPxHeadline
- ASPxHiddenField
- ASPxImageGallery
- ASPxImageSlider
- ASPxImageZoom
- ASPxLoadingPanel
- ASPxMenu
- ASPxNavBar
- ASPxNewsControl
- ASPxObjectContainer
- ASPxPanel
- ASPxPopupControl
- ASPxProgressBar
- ASPxRatingControl
- ASPxResourceManagers
- ASPxRibbon
- ASPxRoundPanel
- ASPxSiteMapControl
- ASPxSplitter
- ASPxTabControl
- ASPxTimer
- ASPxTitleIndex
- ASPxTreeView
- ASPxUploadControl
- Classes
- ImageControls
2. The classes of the following namespaces have also been moved to other namespaces.
- DevExpress.Web.ASPxTreeList.Export -> DevExpress.Web.ASPxTreeList
- DevExpress.Web.ASPxPivotGrid.Export -> DevExpress.Web.ASPxPivotGrid
3. The following classes have been renamed.
- DevExpress.Web.ASPxClasses.CallbackClientSideEvents -> DevExpress.Web.CallbackClientSideEventsBase
- DevExpress.Web.ASPxTitleIndex.GroupContentStyle -> DevExpress.Web.TitleIndexGroupContentStyle
- DevExpress.Web.ASPxTitleIndex.GroupHeaderStyle -> DevExpress.Web.TitleIndexGroupHeaderStyle
- DevExpress.Web.ASPxNavBar.GroupContentStyle -> DevExpress.Web.NavBarGroupContentStyle
- DevExpress.Web.ASPxNavBar.GroupHeaderStyle -> DevExpress.Web.NavBarGroupHeaderStyle
- DevExpress.Web.ASPxTitleIndex.ItemBulletStyle -> DevExpress.Web.TitleIndexItemBulletStyle
- DevExpress.Web.ASPxHeadline.ImagePosition -> DevExpress.Web.HeadlineImagePosition
- DevExpress.Web.ASPxTitleIndex.ColumnSeparatorTemplateContainer -> DevExpress.Web.TitleIndexColumnSeparatorTemplateContainer
- DevExpress.Web.ASPxSiteMapControl.ColumnSeparatorTemplateContainer -> DevExpress.Web.SiteMapControlColumnSeparatorTemplateContainer
- DevExpress.Web.ASPxUploadControl.ValidationSettings -> DevExpress.Web.UploadControlValidationSettings
- DevExpress.Web.ASPxUploadControl.ButtonPropertiesBase -> DevExpress.Web.UploadControlButtonPropertiesBase
- DevExpress.Web.ASPxUploadControl.ButtonProperties -> DevExpress.Web.UploadControlButtonProperties
- DevExpress.Web.ASPxPager.ButtonProperties -> DevExpress.Web.PagerButtonProperties
- DevExpress.Web.ASPxResourceManagers.Script -> DevExpress.Web.ResourceScript
- DevExpress.Web.ASPxResourceManagers.StyleSheet -> DevExpress.Web.ResourceStyleSheet
Note that we have updated our Project Converter tool, so it is able to rename the affected classes and move them to the new namespaces. Although the Project Converter solves most of these issues, you may need to manually fix your code.
Known issues.
-
The Project Converter tool converts the DevExpress.Web.ASPxGridView.Helper namespace to DevExpress.Web.Helper, which does not exist. Classes from the DevExpress.Web.ASPxGridView.Helper namespace were moved to the DevExpress.Web.Internal namespace. Note that the internal classes are not intended to be used directly in your code.
-
When upgraded to 14.2 using Project Converter, a similar error may occur:
error CS0104: 'Collection' is an ambiguous reference between 'System.Collections.ObjectModel.Collection<GridViewDataColumnState>' and 'DevExpress.Web.Collection<GridViewDataColumnState>'
The reason is that your code can contain the following using statements after upgrading to 14.2.
C#using System.Collections.ObjectModel;
using DevExpress.Web;
Both these namespaces have the Collection class. We recommend you use the full class names like "System.Collections.ObjectModel.Collection<T>" and "DevExpress.Web.Collection<T>" in your code.