Breaking change at ASP.NET design-time (v14.2)

ASP.NET Team Blog
19 November 2014

No matter how hard we try and avoid it, sometimes we have no other option but to introduce a breaking change when we fix an issue. And this was the case with fixing the long-standing issue of the length of time taken to save an ASP.NET page at design-time.

The issue

To summarize: when you save an ASP.NET page containing many of our controls from within Visual Studio it can take a long time, even several minutes. Given that we encourage developers to create a rich user interface by using our controls, this situation can be extremely frustrating.

The problem is caused by the way we had separated our controls into different namespaces, even within the same assembly. In that situation, we discovered that Visual Studio will iterate through every class and namespace several times as it tries to resolve references. This process can take some time.

For more detail about the problem, please see the following support ticket:

Saving an ASP.NET page at design time is very slow in Visual Studio 2013, 2012, 2010

The solution

The core issue with 'slow saving pages' has to do with how the DevExpress namespaces are registered.

We found that if controls belong to different namespaces within the same assembly then Visual Studio will iterate through every class several times (for internal purposes).

To solve this issue, we merged namespaces in DevExpress.Web.vX.X assembly in the v14.2 release to prevent additional iterations.

Breaking change

Of course, this fix means that the namespaces that are no longer being used must be removed from your projects. Rather than expect you to manually change each and every one of your projects (it’s doable, but very tedious), we’ve updated the DevExpress Project Converter tool in v14.2 to do it for you. The tool will not only make sure the assembly references are updated in your projects, but for v14.2 it will also rename any affected classes and move them into the new namespace, and remove the unused ones.

Using the Project Converter is the simplest and most robust way to mitigate this particular breaking change.

But what if you have an issue with the upgrade?!?

Help! I've got an upgrade issue

Although we have tested the Project Converter and its fixes for this issue on many of our internal projects, including demos, it could be that there is some use case that it might fail with. If this happens to you, please don’t hesitate to contact our support team. There are two ways of doing that:

  1. Create a support ticket in the Support Center.
  2. Email directly.

Either way, we will respond as soon as possible. We want to ensure that you are happy with the new features in v14.2 and can use it profitably.

Mehul Harry
Twitter: @MehulHarry

Your Next Great .NET App Starts Here

Year after year, .NET developers such as yourself consistently vote DevExpress products #1.

Experience the DevExpress difference for yourself and download a free 30-day trial of all our products today:

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.