2016.2 SDK

Im trying to update my custom VB.NET app to upgrade its Sage libraries from 23.0.0.2 to 23.10.0.1 (2016.2 SDK) because my customer updated their Sage 50 version, and now the app cant open their Sage DB file. When I do so, my code is not able to compile anymore (ex: "SDKInstanceManager is not declared"......like the libraries wont import and the all Simply objects arent recognized). Ive call the support line and they suggested me to update my app to .net 4.5 (I was on 4.0). I tried that and still the same issue even when upgrading to 4.5. Is there something special I need to do in the code, or it is just something im missing? If I put (and re-reference) back my 23.0.0.2 files, then the code compiles back again no problem.

Please let me know.

thanks

  • 0
    In control panel, under program and features, you have to un-install the previous SDK. So say you have previous 2015.3, and you now using 2016.2?

    You need to un-install 2015.3. Then install SDK 2016.2.

    You “usually” also have to execute a regasm on Sage_SA.Domain.Utility.dll"

    Eg:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm
    "C:\Program Files (x86)\Sage 50 Accounting SDK\SDK\Sage_SA.Domain.Utility.dll" /tlb /codebase


    At this point, you can re-build your project, and re-deploy. If you have to tweak or modify say the 2015.2 version, then repeat the above steps again (uninstall 2016.2 SDK).

    So you need to un-install the previous SDK, and install the new one. If you installed both, I suggest un-installing both SDK’s. And depending on your references, you need to regasm the above Utility.dll (and run this registration with admin rights - and do this regasm after you install the SDK).

    Regards,
    Albert D. Kallal
    Edmonton, Alberta Canada
    [email protected]
  • 0 in reply to Albert D. Kallal
    Thanks Albert for the reply. However, Im not so sure of your suggestion.

    What I ended up to do was to take the vb.net Sample provided with 2016.2 SDK (its library dlls actually compile fine when I open that project, compared to my app) and added my code to it until my app was fully rebuild from that project. Seems to work so far and seems to be only way that works for me.

    That being said, do you think your suggestion still stands?

    thanks,
  • 0 in reply to maxtin
    Yes.

    It also a very good idea to do a “clean” or a re-build of your net project (a clean will delete all the .dll’s referenced that get copied to your projects bin folder, then do a build – a re-build does both of these steps (clean + build).

    I done the above quite often. Since installing 2016.2 or 2015.3 installs a bunch of .dll’s aband registers them, then you can only build + compile your code for ONE given setup. (so the rebuild as opposed to build is a good tip).

    So when I have t re-compile say for 2015.3, then I have to un-install the 2016.2. As noted, you likely need to do a regasm on the above .dll. (and do so with admin rights).

    Also keep in mind that 2016.2. requires.net 4.5.2.

    I found that I can compile the 2015.3 SDK to either .net 4.5, or .net 4.52, but the SDK 2016.2 REQUIRES 4.5.2.

    And of course the project must be forced to x86.

    So I often switch several times a day to re-build projects to either SDK, but you have to un-install a given SDK, and then re-install the other one followed by the above steps.

    Regards,
    Albert D. Kallal
    Edmonton, Alberta Canada
    [email protected]