Epicor Function - Custom Assembly Reference

Is there a way to reference a custom assembly in an Epicor function? In my case I want to reference CSVHelper.dll that is located in my Customization/Externals folder.

Thanks in advance.

Hi Andrew, are you saying that the custom assembly is not available to you inside of that folder via the Functions? Is it available in a regular BPM?

1 Like

Right, a normal BPM has the option to select from the Assemblies folder (Epicor’s Built-In Assemblies), or the Externals folder (any custom DLLs used server-side).

In Functions Maintenance I don’t see a way to access the assemblies in the ‘Externals’ folder.

I’m guessing it’s by design (security, etc?), but was hoping I was missing something. If it’s OK for a BPM, why not a function?

Ah I see what you’re saying. It doesn’t even have the option to select from non-shipped assemblies

Great question, I wish I could answer it

1 Like

I’ve had to find a workaround for this, too. Commenting mostly in case anyone knows any better!

Or maybe that someone can tell us it will become possible in future versions.

What’s your workaround?

In your server configuration Aaron you can add a path to a folder Custom Directory and any DLL you put there will automatically be available server side. (That’s how we did it)


So does that meld the available contents of the default folder and the custom folder to be available in the Functions Assemblies area?

That makes those DLL’s available to the whole server so yes, BPMs, Functions etc. It can also be used to override Epicor’s own DLL’s if you are doing some fancy stuff with the SDK
So be careful dropping DLL’s with conflicting names in there.

Basically the server looks there first for the DLL and then in the regular Assemblies folder

1 Like

In my case I was able to call a uBAQ from the function and use the necessary assembly in a custom method. Which was fine for what I needed that time, but would be messy at best and impossible at worst in other circumstances.

1 Like



Ask your Senior Software Architect if Customdil™ is right for you.

Symptoms might include

  • Weeping due to longer upgrade experiences
  • Headaches from a reduced labor pool using a non-standard installation
  • Nausea while debugging database corruption when accidentally overriding system code
  • Fatigue from Framework conflicts as new DOTNET versions are annual
  • Experience less supportive Support calls when using Customdil™

Do not use Customdil™ while operating SaaS.

Experience the power of Customdil™!

In the past I’ve copied my Externals folder right into the assemblies folder every time I build a new appserver from upgrade or whatever. It works but Jose’s way is “sanctioned” I’ll probably do that on the next rebuild.

Adding onto this, is there a way to get custom variable types for use in Functions from this?

I’ve got my dll showing in the ‘Assemblies’ tab, but none of the custom classes show up as a variable type to choose from.


Would this also work on the Epicor Cloud? (Single/Multi tenant).