Auch wenn Du Dich für C# entscheidest, kommt es vor, dass Du für bestimmte DLLs einen C++-.NET-Wrapper benötigst, das wäre dann ein Einsatz für Managed-C++, eine CLR-Bibliothek, die innen C++ implementiert und nach außen eine .NET-Assembly ist.
Zitat von samson: „schützen“Nicht C# und nicht VB.NET, jedenfalls nicht ohne Kraftakt. Die .NET-Assemblies kannst Du verschlüsseln und per Dongle zugreifbar machen, das ist die sicherste Methode (heißt nicht, dass sie sicher ist). Selbst C++ wird reassembliert.
Zitat von samson: „C#“<-> VB.NET: Ich hab schon größere Projekte in beiden Sprachen gemacht, C# ist in sich übersichtlicher. Ein für mich sehr wichtiges feature, "Gehe zur korrespondierenden Klammer (oder so)" vermisse ich in VB.