VB.Net vs C#


Im fairly new to Epicor and with that, started working on our system that has been coded in C#. Im a dotnet coder primarily and while i ‘can’ do code in C#, it takes longer for me to figure out the structure that i wouldnt need to do in dotnet.

I see in the customization forms there is a switch between vb.net & c# which gets locked im guessing when the first customization is created and language selected.

Question 1
Once a language has been set, is that it? it cannot be changed or can both exist as long as the code is separated?

Question 2
If i added a new customization layer, can i set the language as vb.net and continue my work from there? I understand that any previous code wouldnt carry across on that new layer.

Question 3
On other code related objects like BPMs, there doesnt appear to be a language switch so, am i able to write the code in any language or is all of that restricted to C#?


There are a few issues here even before considering your questions:

As for question 3, the only way that could be done is by using external DDLs I would imagine. Any Epicor SaaS user would not be able to use those. You also create an extra dependency on versions of .NET that you would have to manage - and good luck to the person who has to manage such a non-standard implementation down the road.

My personal opinion is to take the time to learn C#. It’s not that much different. Learning some JavaScript will be helpful too. Over my career, I have seen too many professionals let their skills stagnate and end up “having to learn something” in a short amount of time instead of being ready for change when it comes. Your mileage may vary. :person_shrugging:

1 Like


Thanks for the reply. Ive read conflicting articles about vb.net longevity. some say its dying, some say its already dead, some say its being revived, other say its alive and kicking. I currently use it for a number of reasons-

  • readability is more understandable than C#, to a non C# coder anyway :smiley:
  • other non epicor platforms i support with code are strictly vb.net and as yet, have not implemented a C# platform.
  • Microsoft products IDE is VBA which is almost identical to VB.Net, something i have to work with on an excel UDF side and (dare i say it) a Microsoft Access side

Is the redundancy to vb.net going to cut out a chunk of coders? Even on this site there are a fair amount of vb.net coders with epicor who will all need to learn something new. I know you say the 2 languages are almost the same but they’re not really. Structurally, the code is different and takes a minute to turn it around…

I will be on the C# path, not only for epicor but also for other projects & toolkits but im not there yet


If you are going to live in the Epicor world. C# and SQL are what we have been moved to. I came in after vb was already not a thing 10 years ago, so I spent the time to learn C#. You will certainly find more code here in C than vb.

Thanks. Im good with SQL, its the C# im lacking but im picking it up, most conversions are straight forward, its a bit comparison syntax i need to brush up on like

Imports vs Using
Select Case vs Switch
For Each vs foreach
sub vs void

I dont see it being a huge task seeing as i already write in vb.net but its still something new.

Thanks again

1 Like