Initial C# commit

Initial commit with the base framework for the upgraded project (moved
to C#)