Main Site Documentation

4.2 compatibility woes - bug or by design?


#1

I’m having trouble opening and editing an existing .Net Gadgeteer 4.2 project on a new machine. On my machines with 4.2 (version 1.0.6, and Gadgeteer SDK 4.2.101.0) all works fine. But on my newly built machines (version 1014.2.4.0) I cannot use the designer as the components come up blanks (I’ll add a screenshot from a simplified project below). If I add components on the new machine I get different class names. For example in the older 4.2 there is the class GHIElectronics.Ethernet_ENC28 while on the newer machine it is GHIElectronics.EthernetENC28. This is a problem as some of my classes get passed instances of Ethernet_ENC28. I could swap all my machines, and the machines of the other developers touching the code, to the new version but before I embark on that I’d like to find out what’s going on.

It seems that the version of the 4.2 SDK that installs with the latest version of the 4.3 SDK, i.e. from ‘NETMF and Gadgeteer Package 2014 R2.exe’ is not the same as, nor compatible with, the existing version of the 4.2 SDK. Is this discrepancy between released versions of the 4.2 SDK intentional or a bug?

Note that the download page, https://www.ghielectronics.com/support/netmf/sdk/19/netmf-and-gadgeteer-package-2014-r2 does not mention any changes at all for the 4.2 versions contained in the download, just 4.3 improvements.


#2

@ dumbledad - In the new R2 SDK, many Gadgeteer module and class names were changed to be more consistent. As a result, you’ll have to update them in all of your projects. This is discussed on https://www.ghielectronics.com/docs/297/transitioning-from-4.2-to-4.3#3016 but we will look into making it more clear that it applies to 4.2 in the current SDK as well.


#3

Thanks for the heads up John.

I can understand why you’d make those changes moving from 4.2 to 4.3 (and the document you reference is all about that transition) but I do not understand why you need to reach back and change names in 4.2. All that does for me is to delay when I can swap to the latest version as I have too many bits it would break. If 4.2 remained unchanged (modulo bug fixes) I could keep working on my 4.2 projects and start all new ones in 4.3.


#4

@ dumbledad - We only changed the 4.2 names because Gadgeteer does not support different names for different versions. It is not ideal, no, but we had little choice.