It's not very clear what it is that you want to do. You have a C++ exe that you want to call functions in from C#? If you have a C++ DLL you can p/invoke the functions in C#.
Sure you can write a C# exe that performs the same functionality that your C++ app does. I am not sure what you mean by "external functions". C++ exe do not export functions to the outside world (to the best of my knowledge). That is what DLLs are for.
Edit... having a lightbulb moment. Do you mean that your C++ exe acts as a server or service and your lab application sends commands to it via TCP or named pipes or other type of interprocess communication? C# fully supports that type of communication.
After thinking about this I am fairly certain that what you are wanting to do is create a C# application that unitizes inter-process communication (IPC) to communicate with your lab application. This is fairly simple to do using the .NET TCP classes. I have no personal experience using the named pipes with .NET but I would imagine that they are probably pretty easy too. Certainly easier than the C++ counterparts.
This[
^] would be a good place to start.