Spreadsheet – Breaking Change in v19.2

21 June 2019

In the upcoming release of .NET Standard 2.1, Microsoft is going to introduce a new Range structure in the System namespace.

All well and good, but since our Spreadsheet API already contains the DevExpress.Spreadsheet.Range interface, you will get the following error when compiling your spreadsheet application under .NET Standard 2.1:

error CS0104: 'Range' is an ambiguous reference between 'DevExpress.Spreadsheet.Range' and 'System.Range'

Now the obvious workaround fix is to use the following code

using Range = DevExpress.Spreadsheet.Range;

but that's not going to help new customers or even you when writing new applications. Hence, in order to fix this issue properly, we've decided to rename our DevExpress.Spreadsheet.Range interface to DevExpress.Spreadsheet.CellRange in the next major release, v19.2. This change will affect all DevExpress Spreadsheet products:

Once v19.2 has been released and you have upgraded to it, you will need to update your projects to use the CellRange name.

4 comment(s)
Hedi Guizani

Why not dont do it now?

21 June, 2019
Julian Bucknall (DevExpress)

@Hedi: Because we hate having breaking changes in minor releases. They are universally bad news: customers assume (as would I, to be honest) that they can update a minor release and recompile with no after effects.

Cheers, Julian

21 June, 2019
Stephen J White

Thanks for taking care of this, I've run into similar problems with other libraries where they have name conflicts with classes that are native to the framework. It's not fun. :)

26 June, 2019
|Alex|

Thanks a lot for bringing this to our attention Julian

9 July, 2019

Please login or register to post comments.