CodePorting.Native Cs2Cpp 20.2
Major Features
- A big part of HTTP and SOAP stacks support was added to the library.
- Porter now uses semantic reordering when translating C# files containing multiple classes to have resulting C++ code compilable.
- X509Certificate, X509Certificate2, RSA, DSA and related Cryptography classes were improved to match .Net behavior. ECDSA support was added.
- ‘CppUseReflection’ porter attribute was supported. It is now possible to generate reflection information for the ported classes.
Minor fixes
- Porter was fixed to convert deep (over 100 items) nesting of ‘if-else’ constructs into compilable syntax.
- Handling of multilevel ‘if’ config node was fixed in porter.
- Porter was fixed to generate proper ‘using’ directives when translating partial classes.
- LINQ methods in IEnumerable interface implementations were prefixed with ‘LINQ_’ string. It allows avoiding problems when using commonly used method names (e. g. ToArray or ToList) in classes that implement IEnumerable.
- An option was added to XmlReaderSettings and related classes allowing it to disable character reference checks.
- ISO8859 charsets support was fixed in Xml subsystem on Linux.
- ‘allowed_heap_only_types.config’ file generated by porter is now sorted.
- The translation of ‘+#’ operator for delegates was fixed for some cases.
- Current culture detection was fixed for some combinations of locale, system language, and interface language.
Please consult the respective sections of our wiki for more information.
Full List of Issues Covering all Changes in this Release
Key | Summary | Category |
---|---|---|
EMAILCPP-202 | Transition to the common version of asposecpplib (CodePorting.Native Cs2Cpp) | Task |
SLIDESCPP-2193 | Restore Aspose.Slides for C++ compilation in Linux (v20.1) | Task |
WORDSCPP-818 | Implement X509Certificate, X509Certificate2, RSA, DSA classes | Task |
EMAILCPP-196 | Building a Linux package for Aspose.Email for C++ ver 19.3 | Task |
WORDSCPP-904 | Add support for ECDSA signatures | New feature |
WORDSCPP-929 | Fix current user locale detection | Bug |
CSPORTCPP-3148 | Fix LINQ methods conflicting with other ones | Bug |
SLIDESCPP-2185 | Fix RegressionTests_v20_1.SLIDESNET_41539 test | Bug |
CSPORTCPP-3086 | Fix linking of ICU and iso8859x for libxml2 NAnt building script | Bug |
Public API and Backward Incompatible Changes
- Many classes related to HTTP protocol were added to System::Net namespace.
- LINQ methods in System::Collections::Generic::IEnumerable were prefixed with ‘LINQ_’ prefix.
- API of X509Certificate, X509Certificate2, RSA, DSA, ECDSA, and related Cryptography classes was adjusted to match .Net one.