Documentation

    Table of Content
    • CodePorting.Native Product Family
      • CodePorting.Native Cs2Cpp
        • Getting Started
          • Product Overview
          • Installation
          • Licensing
          • How to use CodePorting.Native Cs2Cpp
            • How to Use Command line to port and build Projects
            • How to Use GUI to port and build Projects
        • Developer Guide
          • Porting Simple C# Projects
            • Porting Simple Console Application
            • Porting Simple Library
            • Porting Simple NUnit Test
          • Porting Dependent C# Projects
            • Porting Dependent Console Application
            • Porting Dependent Library
            • Porting Dependent NUnit Test
          • Porting Complex C# Projects
            • How to Convert Complex C# Console Application to C++
            • How to Convert Complex C# Library to C++
            • How to Convert Complex C# NUnit Test to C++
          • Qt support
          • What Converts to What
            • AbstractClasses
            • BreakStatements
            • ClassAutoProperties
            • ClassConstructors
            • ClassEvents
            • ClassFinalizers
            • ClassGenericMethods
            • ClassIndexers
            • ClassMethods
            • ClassProperties
            • ClassStaticConstructor
            • ClassStaticMethods
            • ClassStaticProperties
            • ClassVirtualMethods
            • ContinueStatements
            • Delegates
            • DoWhileStatements
            • Enums
            • EnumTypeCast
            • Exceptions
            • ExpectedException
            • ForeachStatements
            • ForeachStatementsStd
            • ForStatements
            • GenericClasses
            • GenericDelegates
            • GenericInterfaces
            • GenericStructs
            • IfStatements
            • LambdaExpressions
            • NestedClasses
            • ReturnStatements
            • SimpleClass
            • SimpleInterface
            • SimpleStruct
            • SimpleTest
            • StandardTypeCast
            • StaticClass
            • SwitchStatements
            • TestWithSetupMethods
            • ThrowStatements
            • TryCatchFinallyStatements
            • TryCatchStatements
            • TryFinallyStatements
            • VarExpressions
            • WhileStatements
          • CodePorting Native Cs2Cpp Attributes
          • CodePorting Native Cs2Cpp Configuration File
            • CodePorting.Native Cs2Cpp Configuration File Structure
            • Attributes in Configuration file
            • Configuration file Nodes
            • Configuration file Options
          • Memory Management Model
            • Memory Management Model Description
            • Using aliasing constructor to create a smart pointer
          • Cmake Support
          • C++ code injection
          • C++ user-defined exception classes
          • Limitations and Bugs
            • Porter Limitations and Bugs
            • Library Limitations and Bugs
            • Cpp Code Injection
        • Release Notes
          • 2022
            • CodePorting.Native Cs2Cpp 22.5
            • CodePorting.Native Cs2Cpp 22.4
            • CodePorting.Native Cs2Cpp 22.3
            • CodePorting.Native Cs2Cpp 22.2
            • CodePorting.Native Cs2Cpp 22.1
          • 2021
            • CodePorting.Native Cs2Cpp 21.12
            • CodePorting.Native Cs2Cpp 21.11
            • CodePorting.Native Cs2Cpp 21.10.1
            • CodePorting.Native Cs2Cpp 21.10
            • CodePorting.Native Cs2Cpp 21.9
            • CodePorting.Native Cs2Cpp 21.8
            • CodePorting.Native Cs2Cpp 21.7
            • CodePorting.Native Cs2Cpp 21.6
            • CodePorting.Native Cs2Cpp 21.5
            • CodePorting.Native Cs2Cpp 21.4
            • CodePorting.Native Cs2Cpp 21.3
            • CodePorting.Native Cs2Cpp 21.2
            • CodePorting.Native Cs2Cpp 21.1
          • 2020
            • CodePorting.Native Cs2Cpp 20.12
            • CodePorting.Native Cs2Cpp 20.11
            • CodePorting.Native Cs2Cpp 20.10
            • CodePorting.Native Cs2Cpp 20.9
            • CodePorting.Native Cs2Cpp 20.8
            • CodePorting.Native Cs2Cpp 20.7
            • CodePorting.Native Cs2Cpp 20.6
            • CodePorting.Native Cs2Cpp 20.5
            • CodePorting.Native Cs2Cpp 20.4
            • CodePorting.Native Cs2Cpp 20.3
            • CodePorting.Native Cs2Cpp 20.2
            • CodePorting.Native Cs2Cpp 20.1
          • 2019
            • CodePorting.Native Cs2Cpp 19.1
            • CodePorting.Native Cs2Cpp 19.2
            • CodePorting.Native Cs2Cpp 19.3
            • CodePorting.Native Cs2Cpp 19.4
            • CodePorting.Native Cs2Cpp 19.4.1
            • CodePorting.Native Cs2Cpp 19.5
            • CodePorting.Native Cs2Cpp 19.6
            • CodePorting.Native Cs2Cpp 19.7
            • CodePorting.Native Cs2Cpp 19.8
            • CodePorting.Native Cs2Cpp 19.9
            • CodePorting.Native Cs2Cpp 19.10
            • CodePorting.Native Cs2Cpp 19.11
            • CodePorting.Native Cs2Cpp 19.12
          • 2018
            • CodePorting.Native Cs2Cpp 18.9
            • CodePorting.Native Cs2Cpp 18.9.1
            • CodePorting.Native Cs2Cpp 18.10
            • CodePorting.Native Cs2Cpp 18.11
            • CodePorting.Native Cs2Cpp 18.12
    1. Home
    2. CodePorting.Native Product Family
    3. CodePorting.Native Cs2Cpp
    4. Release Notes
    5. 2019
    6. CodePorting.Native Cs2Cpp 19.7

    CodePorting.Native Cs2Cpp 19.7

    What's on this Page

      • Major Features
      • Minor fixes
      • Full List of Issues Covering all Changes in this Release
      • Public API and Backward Incompatible Changes

    Major Features

    1. System::Globalization subsystem was reworked for better match to .NET implementation.
    2. Multiple previously unsupported encodings were added into System::Text submodule.
    3. ValueSource NUnit attribute was supported by porter.

    Minor fixes

    1. The Initializer list for user IList-implementing classes were supported in porter.
    2. Test methods alignment issues were fixed in ported code.
    3. A regression was fixed which was introduced in 19.6 version which broke porting of initializer lists with braces inside them.
    4. ‘generatedlist_template’ porter option was supported by porter making it possible to enlist generated files.
    5. Most VS warnings of /W4 level were fixed or suppressed for both library and ported code.
    6. Imaging::PixelFormat::Format32bppPArgb value was supported by multiple drawing algorithms.
    7. Porting of IntPtr initializers was fixed.
    8. System::Compare() method was fixed for NaN values.
    9. Behavior of Fix System::Decimal::Round() was brought in line with .Net one.
    10. Decimal behavior for courner cases (e. g. porting direct initialization) was fixed.
    11. System::BitConverter::Int64BitsToDouble() method was supported.
    12. System::Threading::ThreadInterruptedException class was supported.
    13. Metadata was added for System::Drawing::Imaging::PixelFormat enum.
    14. Assert.Inconclusive NUnit method was supported by porter.
    15. Some headers unrelated to .Net classes were dropped from package.

    Please consult respective sections of our wiki for more information.

    Full List of Issues Covering all Changes in this Release

    KeySummaryCategory
    WORDSCPP-787Add missing encodings to ICU and asposecpplibTask
    TASKSCPP-1237Implement NUnits’s Assert.Inconclusive methodTask
    TASKSCPP-1142Implement ValueSource source at parametrized NUnit test fixturesTask
    CSPORTCPP-2729Support CsPorter for C++Task
    WORDSCPP-664Rework System::Globalization subsystemTask
    PDFCPP-1005Introduce PixelFormat::Format32bppPArgbTask
    PDFCPP-1004Fix CsToCppPorter IntPtr with initializerTask
    CSPORTCPP-2018Get rid of ‘system on zip’ dependencyTask
    TASKSCPP-1189Ported from NUnit google-tests has wrongly aligned bodies, that makes ported code uncomfortable for reading.Enhancement
    CSPORTCPP-2554Raise VS warning levelEnhancement
    TASKSCPP-1197Fix tests with failures on Decimal’s accuracyBug
    TASKSCPP-1214Fix System::Decimal::Round(…) incorrect behaviourBug
    WORDSCPP-799TestCustomersCharts.TestJira12406 failed with STL assertion “invalid comparator”Bug
    TASKSCPP-1188Porter quietly ignores initializer list for IList implementors.Bug

    Public API and Backward Incompatible Changes

    1. Classes inside System::Globalization namespace was reworked. Implementation-specific details not matching The .NET public API may have been removed.
    2. include/zip headers were dropped as they are not required for ported code to work.