Wednesday, June 21, 2017

Common GP integration error: Could not load file or assembly 'Microsoft.Dynamics.GP.eConnect, Version=XX.0.0.0

By Steve Endow

If you have a .NET integration for Dynamics GP that uses the eConnect .NET assemblies, this is a fairly common error:

Could not load file or assembly 'Microsoft.Dynamics.GP.eConnect, Version=

Could not load file or assembly 'Microsoft.Dynamics.GP.eConnect, Version=

Could not load file or assembly 'Microsoft.Dynamics.GP.eConnect, Version=

This usually indicates that the integration was compiled with an older (or different) version of the eConnect .NET assemblies.

Why does this happen?

In my experience, there are two situations where you will usually see this.

1. You upgraded Dynamics GP to a new version, but forgot to update your .NET eConnect integrations.  For instance, if you upgraded from GP 2013 to GP 2016, you would see the "Version 12" error message when you run your integration, as the integration is still trying to find the GP 2013 version of eConnect.

2. You are working with an application or product that is available for multiple versions of GP, and the version you have installed doesn't match your GP version

The good news is that this is simple to resolve.  In the first case, the developer just needs to update the Visual Studio project to point to the proper version of the eConnect DLLs.  Updating the .NET project shouldn't take very long--maybe 1-4 hours to update and test, depending on the complexity of the integration.  Or if you're using product, you just need to get the version of the integration that matches your GP version.

If you have a custom .NET integration, the potential bad news is that you, or your developer, or your GP partner, needs to have the .NET source code to update the integration.  Some customers encounter this error when they upgrade to a new version of GP, and realize that the developer who wrote the code left the company 3 years ago and they don't know where the source code might be.  Some customers change GP partners and didn't get a copy of the source code from their prior partner.

If you can't get a copy of the source code, it is theoretically possible to decompile most .NET applications to get some or most of the source code, but in my limited experience as a novice user of such tools, decompilation just doesn't provide a full .NET project that can be easily updated and recompiled.  Or if it does, the code is often barely readable, and would be very difficult to maintain without a rewrite.

You can also find him on Twitter, YouTube, and Google+

1 comment:

Unknown said...

Hi Steve,

I was getting this same error after upgrading from GP 2013 to GP 2016, but within SmartConnect. I tried a few things and am unsure which of these specifically is *the* thing that helped so I'll list all 3! In my case, SmartConnect and eConnect worked from other workstations using the same maps that failed on our server so it was something isolated to that workstation.

1. Stopped and started the eConnect service on the server again.
2. Made sure the GP Connector in SmartConnect was referencing the correct version of GP (it was, but that hint is from the eOne website)
3. In that GP connector window, I clicked on Re-Register Maps, which I'm honestly unsure if it's related to not.

The next integration I ran no longer had the error. My guess is it was #1 that resolved the issue, restarting the service... however since I can't confirm.

Hope this helps someone else out there!