We are pleased to announce new monthly release of csPorter for C++ 18.10. This is a maintenance release that contains number of improvements and bug fixes. Some important fixes are XML and Strings related issues that further improves the overall stability and usability of csPorter for C++. Please check the release notes in order to get an idea about what is new and what has been enhanced or fixed with this revision of csPorter for C++.
Improvements and Fixes
These are the new features included in this regular monthly release:
- Null reference error fixed when accessing namespace of XmlAttribute without any namespace set
- Fixed runtime error when setting InnerText for XmlNode with no parent XmlDocument
- Added missing overloads of XslCompiledTransform::Tranform() methods
- Behavior of XmlTextWriter class now matches such of .Net class regarding spaces and EOL symbols
- Fixed runtime error when assigning A object only referenced by B object to SmartPtr holding last reference to B
- Several potential memory leaks related to WeakPtr usage are fixed
- Support of several System::ComponentModel classes was added. Related API is fixed
- Issue with XmlTextReader::ReadString() invalidating reader if element is empty is fixed
- Incorrect work of Convert::ToString() function with DateTime type is fixed
- Translation of concatenation between string and enum types is fixed
- Detection of String vs bool overload is switched to fully automatic mode. CppForceStringParam attribute is still available e. g. for String vs TypeInfo cases
- Translation of surrogate pairs inside string literals is fixed
- Errors detected during Xml files parsing no longer go into stderr by default. To change this behavior, use ASPOSE_LIBXML2_ERROR_OUTPUT_CHANNEL system variable with possible values of ‘stderr’, ‘stdout’, ‘debug’, ‘null’ or ‘file:<filename>’
- Platform checks are improved in Nuget package
- Fixed porter not taking config into account when translating System.Char references
- 64-bit integer to string conversions behavior was synchronized with .NET when it comes to trailing and leading spaces. Also, performance is improved
- Shorter, more convenient directory name is provided inside release package
Public API Changes
We have made following breaking API changes in csPorter for C++ 18.10 version:
- Several previously unsupported overloads of System::Xml::Xsl::XslCompiledTransform::Transform() method are added
- Support of the following classes is added:
- Support of System::Threading::WaitHandle::WaitOne(const System::TimeSpan &timeout) method is added
- char16_t_array type renamed to system_char_array. const_char16_t_array type renamed to const_system_char_array
- System::Char::IsAsciiWhiteSpace() method is added
- Product Home Page– Gives you detailed overview about the csPorter for C++
- Online documentation– Complete help documentation.
- Download– Download latest release of the csPorter for C++
- API Reference Guide– Details of the namespaces and classes of the API linked with the ported C++ Code
- GitHub Examples– Provides ready to port Example Projects
- Support Forum– Write to us if you have any query or inquiry about the csPorter for C++
- Blog– Do not limit yourself, enable Blog subscription and keep yourself updated with the latest news on the csPorter for C++
- Video Tutorials– Watch csPorter for C++ video tutorials
Start a Free Trial TodayStart a free trial today – all you need is to sign up with the csPorter. Once you have signed up, you are ready to try the csPorter for C++ and port your C# projects to C++.
You can easily download the csPorter for C++ Application for evaluation. The evaluation download is the same as the purchased download. The evaluation version (without a license specified) provides full product functionality, but it limits the input C# project structure.
If you want to test the csPorter for C++ Application without the evaluation version limitations, you can also request a 30-days Temporary License. Please refer to How to get a Temporary License?