unity also uses c# to run scripts, so I planned to load this generated Fugro.G2O.dll by placing it to Plugin folder for unity to get the reference of the functions. However, Fugro.G2O.dll is detected as native dll rather than a managed doll, which is not the way your c# test uses it.
This is a mixed DLL, which can certainly be called from C#. It's a .net framework library, so no .net core or Linux.
I can't help you with unity questions.
unity also uses c# to run scripts, so I planned to load this generated Fugro.G2O.dll by placing it to Plugin folder for unity to get the reference of the functions. However, Fugro.G2O.dll is detected as native dll rather than a managed doll, which is not the way your c# test uses it.