Please see my comment to the question, let's forget about "VB". In .NET, there are no any barriers between C# and VB.NET; both are .NET languages.
First of all, you can have one assembly compiled from C# code, referenced it by the VB.NET project, and this project can use referenced assembly in exact same way as it was written in the same VB.NET assembly. And visa versa. Moreover, there is no problem to translate C# to VB.NET or back automatically. Please see my past answer, and pay most your attention for the off-line method using ILSpy. It will allow you to translate the whole project and automatically have fully arranged VB.NET project out of existing C# project:
Code Interpretation, C# to VB.NET[
^].
—SA