The project was renamed to CodePorting.Translator Cs2Cpp. The ‘CodePorting.Native Cs2Cpp’ name is now obsolete. From now on, the Nuget packages are CodePorting.Translator.Cs2Cpp.Framework for the library and CodePorting.Translator.Cs2Cpp.Control to control the translator and the translated code. MSBuild and CMake targets are CodePorting.Translator.Cs2Cpp.Framework. Dynamic libraries' base name is codeporting.translator.cs2cpp.framework (e. g. codeporting.translator.cs2cpp.framework_vc14x86d.dll for 32-bit Debug Visual Studio version). Some APIs that contained product name were also changed to match the new naming scheme.
The implementations of StackArray and ArrayView classes were improved. Several library classes that work with arrays were extended to work with these array types as well.
The force_static_cast option was supported by the porter. It makes the ported code to use static_casts instead of dynamic_casts which can be useful if all casts are meant to succeed.
The Boost version used was updated to 1.79.0. The Botan version used was updated to 2.19.1. Some build issues with these libraries were fixed.
The CppArrayOnStack attribute can now be used with properties.
The invocations of parent indexer setter are now translated properly.
The code generated when the CppSkipTestDefinition attribute is placed at the test method was fixed.
Tha bug was fixed making a WeakReference class a value type in the translated code.
The signature of the GetSharedMembers() method was optimized in the library and translated code.
The translation of in-array delegate assignment was fixed.
Proper exceptions are now thrown from the Dictionary methods if nullptr is passed as a key.
The translator now supports using the inherited methods as TestCaseSource.
Doxygen version used to generate the documentation was upgraded.
The List::ForEach method now throws proper exceptions if the predicate changes the number of elements in the list.
The growth of big (up to ~2 billion elements) MemoryStream was fixed.
The DashCap::Triangle mode was supported. Other modes of the caps rendering were fixed.
The behavior of String::IndexOf was fixed for the empty string case.
The translation of Enum.TryParse calls were fixed for some parameter sets.
The Tag property of the Image class was supported.
Several Clang-Tidy warnings were fixed across the codebase, potentially improving the performance.
Please consult respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Rename Nuget and downloadable packages and GitHub pages
Add specialization for StackArray<bool, N>
Add possibility to apply CppArrayOnStack attribute on properties (CsPorter)
Fix a compile error in ComplexClassBasePropertiesImpl
Fix a compile error in SkipTestDefinition
Remove WeakReference from force_value_types
Change GetSharedMembers semantic to improve leak-detection performance.
Porter: Incorrect translation of delegate assignment
error: SEH exception with code 0xc0000005 thrown in the test body
Invalid exceptions are thrown while passing null as the parameter value of a method
Refactoring of Unified tests broke C++ porting
MemoryStream big size issue
PDF import throws NotImplementedException error
Support CodePorting.Native Cs2Cpp
Two different boost versions linked into asposecpp
Fix String::IndexOf with StringComparison parameter
Fix Enum.TryParse() translation
Update Boost, Botan, Skia for all platforms
Public API and Backward Incompatible Changes
The product was renamed. This includes Nuget package naming, DLL and lib files naming, lesser API changes, etc.
The supported glibc version will be changed in the upcoming releases.