"Without the DLL" sounds ridiculous! You could also say "without C# file". Well, change DLL extension to something else, you will have without DLL :-)
Seriously, using .NET assembly by native (unmanaged) code is a problem. Is that what you tried so far? Suggested use is COM, but I this is not very good option, due to overhead (you're right here), registry contamination and general trend of getting COM gradually obsolete.
I already answered how to use .NET Assembly directly. Many would say it is impossible, but this is not true. This is not well-known method, but it is robust and based on the standard.
See:
loading C# DLL in MFC[
^].
—SA