Requirements for DLL to call in Customization?


(John W. Myers) #1
We’re just getting started on our upgrade from E9(9.05.601B), and have some questions about creating and calling a function from a custom DLL:

  1. What is required to use a custom DLL in the Assembly Reference Manager?
  2. How to determine parameter data types and correspondence between Epicor and the DLL?
  3. Can DLLs be located other than the Client folder to run?

Any help would be greatly appreciated!

(Mark Wonsil) #2
  1. Can you find a way to do what is needed without a custom DLL? What is the business case?

The reason I ask is they do make your upgrades harder to do. It’s highly coupled and tied to specific versions of Epicor DLLs.

Mark W.

(John W. Myers) #3

Mark, what we’re trying to do is build a DLL that will perform some calculations on a parameter, and pass back the results in a second parameter. This will NOT be calling any Epicor BOs. We’ve already built a DLL (Not a .NET Framework piece of code) and attempted to add it through the Assembly Reference Manager, but getting an error about expecting an assembly manifest. Do external DLLs have to be built as .NET code, or what is the minimum needed for an assembly manifest? Is the manifest like the .XML files you see for the Epicor DLLs, or something embedded in the DLL?

(Mark Wonsil) #4

Hi John,

What you may want to consider is to make this a web service and avoid all of the DLL hell. Encapsulate your DLL in a Web API (Sample here: - This is way more than you need but it gives you the basics).

Now you can call this web function without worrying about distributing DLLs. You have a single point of upgrade. Finally, if you ever move to the cloud, you’re all set.

Mark W.