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.3

    CodePorting.Native Cs2Cpp 19.3

    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. Visual Studio warnings were fixed in both ported code and library headers.
    2. force_public_headers option was added which makes sure no private headers are included from public ones.
    3. The header and source files which turn out empty due to entity skipping are no longer generated.
    4. In Porter GUI, path to porter configuration was not updated when loading the workspace. This was now fixed.

    Minor fixes.

    1. Missing calls to type conversion operators were fixed for static variables initializers.
    2. String::Format() method now works with arrays of non-pointer types (e. g. strings) and with floating point types.
    3. Error message when trying to build 32-bit code in VS against product Nuget package was fixed.
    4. MD5CryptoServiceProvider class default constructor was implemented.
    5. Exporting macro for DateTime::get_Today() was fixed.
    6. cpp_enum_enable_metadata option was fixed to work for public enums only to avoid growing binary size too much.
    7. export_internals option attribute was fixed. Previously, some internal classes were exported.
    8. Explicit interface implementations now port as public which fixes some compilation issues.
    9. Contexpr ordering was fixed for some types of expressions. Include generation for these was fixed as well.

    Please consult respective sections of our wiki for more information.

    Full List of Issues Covering all Changes in this Release

    KeySummaryCategory
    PDFCPP-911CsToCppPorter - type conversion on static vaiable initializationTask
    PDFCPP-912asposecpplib - fix String.FormatTask
    CSPORTCPP-1663Clean library warningsTask
    CSPORTCPP-2515Fix error message in NuGet package at building with 32bit compiler.Task
    PDFCPP-916Fix MD5CryptoServiceProviderTask
    WORDSCPP-677Move to the public includes any structs used as class fields (even private)Bug
    WORDSCPP-765Generating enum metadata for public enums onlyTask
    PDFCPP-920Fix String::Format for double and floatTask
    WORDSCPP-762export_internals#true porter configuration option doesn’t work as expectedBug
    WORDSCPP-481Incorrect porting of default access specifier of interface implementationBug
    WORDSCPP-763Interface implementation ignores make_shared_lib/export_internals#true porter option
    WORDSCPP-360Reorder constexpr field declaration.Task
    WORDSCPP-745Implement CppDelete attribute for excluding whole from portingTask
    CSPORTCPP-2571Fix workspace loadingBug

    Public API and Backward Incompatible Changes

    None.