- Migrate from .NET Framework 4.5.2 to .NET 5.0 (SDK-style project).
- Reorganize codebase into Types/, SafeArrays/, and Interfaces/ directories.
- One COM class per type for isolated go-ole testing.
- New ProgID convention:
TestCOM.<Type>,TestCOM.SafeArray.<Type>,TestCOM.Interface.<Pattern>. - Scalar VARIANT types:
- Existing:
Int8/UInt8,Int16/UInt16,Int32/UInt32,Int64/UInt64,Float32,Float64,String,Boolean. - New:
Currency(VT_CY),Date(VT_DATE),Decimal(VT_DECIMAL),Error(VT_ERROR),Variant(VT_VARIANT),Unknown(VT_UNKNOWN),Dispatch(VT_DISPATCH),Empty/Null(VT_EMPTY/VT_NULL),Clsid(VT_CLSID),HResult(VT_HRESULT),FileTime(VT_FILETIME),Blob(VT_BLOB as SAFEARRAY VT_UI1),Ptr(VT_PTR via IUnknown-only),Stream(VT_STREAM with IStream implementation).
- Existing:
- SafeArray support with 1D, 2D, and 3D arrays for: Int8/UInt8, Int16/UInt16, Int32/UInt32, Int64/UInt64, Float32, Float64, String, Boolean, Currency, Date, Decimal, Variant.
- COM interface pattern test classes:
- Dual interface (IDispatch + vtable).
- IUnknown-only interface (vtable only).
- IDispatch-only interface (late binding only).
- Multiple interfaces on single class (QueryInterface testing).
- Inherited interfaces (base + derived).
- Connection points (COM event sourcing).
- Delete old
COMTestDispatch.csandCOMSafeArray.cs.
- Fix interface COM visibility by copying properties and methods to interface.
- Make constructors public.
- Add boolean implementation to interface.
- Add safe array server implementation.
- Make methods public.
- Support for accessing, mutating and echoing types:
Int8,UInt8,Int16,UInt16,Int32,UInt32,Int64,UInt64Float32,Float64- Unicode String.
- COM Interfaces (Name - GUID):
ICOMTestString(E0133EB4-C36F-469A-9D3D-C66B84BE19ED)ICOMTestInt8(BEB06610-EB84-4155-AF58-E2BFF53608B4)ICOMTestInt16(DAA3F9FA-761E-4976-A860-8364CE55F6FC)ICOMTestInt32(E3DEDEE7-38A2-4540-91D1-2EEF1D8891B0)ICOMTestInt64(8D437CBC-B3ED-485C-BC32-C336432A1623)ICOMTestFloat(BF1ED004-EA02-456A-AA55-2AC8AC6B054C)ICOMTestDouble(BF908A81-8687-4E93-999F-D86FAB284BA0)ICOMTestBoolean(D530E7A6-4EE8-40D1-8931-3D63B8605001)ICOMTestTypes(CCA8D7AE-91C0-4277-A8B3-FF4EDF28D3C0)ICOMEchoTestObject(6485B1EF-D780-4834-A4FE-1EBB51746CA3)
- COM Classes (Name - GUID)
COMEchoTestObject(3C24506A-AE9E-4D50-9157-EF317281F1B0)COMTestScalarClass(865B85C5-0334-4AC6-9EF6-AACEC8FC5E86)
- Set x64 as default platform.
- Add Appveyor CI build with badge.
- Fix builds for AnyCPU and x64 platforms.
- Only make specific objects COM visible.
- Rename Float/Double to Float32/Float64.
- Create TLB assembly.