Community
Showing results for 
Search instead for 
Do you mean 
Reply

SDK Backwards Compatibility

New Member
Posts: 1
Country: USA

SDK Backwards Compatibility

If I develop an application that will do some data modification using the ACT 2012 SDK, would I be able to use that same code to run it against a 2008/2011 system? What would I need to do if I wanted my codebase to support several different versions of ACT?

 

Thank you

Nickel Contributor
Posts: 175
Country: USA

Re: SDK Backwards Compatibility

Typically, you want to develop for the oldest version you need to work with. The reason for this is due to newer versions having additional methods, objects, classes, etc. that the old version doesn't. Using any of the new items will prevent it from working with the old. It is usually easier to upgrade code to a newer version, than it is to go backwards.

 

This is in general, with just about any SDK/API.

 

In short, write your code against 2008. If you need to have your code target a newer version of ACT, I'd suggest copying your code to a new project, and upgrade it to work with that version of ACT. This way would keep your 2008 (base) code working, assuming you need it yet.

Nickel Elite Contributor
Posts: 937
Country: USA

Re: SDK Backwards Compatibility

Absolutely accurate information int he reply.  

 

Generally you just need to reference assemblies from the oldest version of ACT! you want supported in your project in Visual Studio.

 

 

 

 

Copper Super Contributor
Posts: 112
Country: Australia

Re: SDK Backwards Compatibility

dont forget tho that act 2011+ require the .Net 3.5 framework?? yet older only support 2.0 ? i didnt think newer act versions load plugins etc that are 3.5, am i right?

Nickel Elite Contributor
Posts: 937
Country: USA

Re: SDK Backwards Compatibility

Thanks for the reminder!

 

The assemblies I created targeting the .Net 2.0 framework load up and run in Sage ACT! 2011/2012 in the .Net 3.5 framework. 

 

Generally .Net is also forward compatible, though there are a couple of exceptions where interfaces or methods have been deprecated so no longer work in the newer version of the runtime.

 

Like ACT! - .Net is not backward compatible, so if you create the assembly targeting the .Net 3.5 framework it will likely not work in older versions of ACT! even when the older references are used.

 

So in addition to referencing the older framework dll's you also need to target .Net 2.0 for your assembly build.