25 октября 2026
Мы объявляем о выпуске крупного обновления для CodePorting.Translator Cs2Cpp. Транслятор нового поколения был полностью переписан для использования Roslyn, заменив устаревшую библиотеку NRefactory, применявшуюся в предыдущих версиях. Этот переход устраняет существенное архитектурное ограничение старой версии, которая была ограничена поддержкой C# 5. Благодаря использованию Roslyn новый транслятор нативно поддерживает современные возможности языка — в настоящее время вплоть до C# 13 — и готов к поддержке будущих версий C# по мере развития языка.
Если ранее вы сталкивались с ограничениями при попытке портировать современные кодовые базы C# в C++, этот релиз снимает эти барьеры и открывает новые возможности для ваших проектов.
Переход на семантический анализ Roslyn разблокировал поддержку множества мощных языковых конструкций, которые ранее не поддерживались. Новый транслятор беспрепятственно обрабатывает сложные современные паттерны, включая:
async/await (транслируется в конечные автоматы, обернутые в шаблоны Task) и оператора yield.with и первичных конструкторов.Span<T>, Memory<T> и stackalloc.?. и ?[]) и инициализация автоматических свойств.Подробный технический разбор того, как эти современные конструкции отображаются в C++, представлен в документации по новым возможностям.
Обновление вашего конвейера трансляции спроектировано максимально простым. Транслятор нового поколения выступает в качестве прямой замены ваших существующих рабочих процессов. Он принимает те же аргументы командной строки, читает те же конфигурационные файлы и учитывает те же атрибуты кода, с которыми вы уже знакомы.
Поскольку новый движок требует семантической корректности проектов C#, вы можете использовать всю мощь компилятора Roslyn для обеспечения высокоточной трансляции вашего кода. Независимо от того, интегрируете ли вы его в существующий CI/CD-конвейер или тестируете локально, процесс миграции проходит гладко и хорошо документирован.
Если ваши проекты на C# ранее были слишком современными для нашего транслятора, сейчас самое время попробовать снова.
Подробные инструкции по переходу ваших проектов и сборочных сред приведены в Руководстве по миграции.
Мы опубликовали комплексный портал документации, который поможет вам настроить новый транслятор, разобраться в его возможностях и интегрировать его в ваши скрипты сборки.