25 October 2026
We are announcing the release of a major architectural update to CodePorting.Translator Cs2Cpp. The next-generation translator has been completely rewritten to utilize Roslyn, replacing the legacy NRefactory library used in previous iterations. This transition resolves a significant architectural limitation of the older version, which was restricted to C# 5. By leveraging Roslyn, the new translator natively supports modern language features—currently up to C# 13—and is positioned to support future versions of C# as the language continues to evolve.
If you have previously encountered limitations when trying to port modern C# codebases to C++, this release removes those barriers and opens up new possibilities for your projects.
The transition to Roslyn's semantic analysis has unlocked support for a vast array of powerful language features that were previously unsupported. The new translator handles complex modern patterns seamlessly, including:
async/await (translated into state machines wrapped in Task templates) and the yield operator.with keyword, and primary constructors.Span<T>, Memory<T>, and stackalloc.?. and ?[]), and auto-property initialization.For a detailed technical breakdown of how these modern constructs are mapped to C++, please refer to the New Features documentation.
Upgrading your translation pipeline is designed to be straightforward. The next-generation translator acts as a drop-in replacement for your existing workflows. It accepts the same command-line arguments, reads the same configuration files, and respects the same code attributes you are already familiar with.
Because the new engine requires the C# projects to be semantically correct, you can now leverage the full power of Roslyn's compiler to ensure your code is translated with high precision. Whether you are integrating this into an existing CI/CD pipeline or trying it out locally, the migration path is smooth and well-documented.
For detailed instructions on transitioning your projects and build environments, please refer to the Migration Guide.
We have published a comprehensive documentation portal to help you set up the new translator, understand its capabilities, and integrate it into your build scripts.