10.2.100.16
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:
What is required to use a custom DLL in the Assembly Reference Manager?
How to determine parameter data types and correspondence between Epicor and the DLL?
Can DLLs be located other than the Client folder to run?
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?
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: Tutorial: Create a web API with ASP.NET Core | Microsoft Learn - 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.