ComLightInterop 1.3.6
See the version list below for details.
Requires NuGet 3.4.4 or higher.
dotnet add package ComLightInterop --version 1.3.6
NuGet\Install-Package ComLightInterop -Version 1.3.6
<PackageReference Include="ComLightInterop" Version="1.3.6" />
paket add ComLightInterop --version 1.3.6
#r "nuget: ComLightInterop, 1.3.6"
// Install ComLightInterop as a Cake Addin #addin nuget:?package=ComLightInterop&version=1.3.6 // Install ComLightInterop as a Cake Tool #tool nuget:?package=ComLightInterop&version=1.3.6
The library only supports IUnknown-based interfaces, it doesn’t handle IDispatch.
You can only use simple types in your interfaces: primitives, structures, strings, pointers, function pointers, but not VARIANT or SAFEARRAY.
This package targets 3 platforms, .NET framework 4.7.2, .NET Core 2.2, and VC++.
Unfortunately, VC++ is Windows only.
To build Linux shared libraries implementing or consuming COM objects, please add "build/native" directory from this package to C++ include paths.
For cmake see include_directories command, or use some other method, depending on your C++ build system, and compiler.
Keep in mind .NET assemblies are often “AnyCPU”, C++ libraries are not, please make sure you’re building your native code for the correct architecture.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETCoreApp 2.1
- No dependencies.
-
.NETFramework 4.7.2
- System.Buffers (>= 4.5.0)
- System.Memory (>= 4.5.3)
-
native 0.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on ComLightInterop:
Package | Downloads |
---|---|
WhisperNet
High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model |
|
VrmacGraphics
Vrmac graphics engine |
|
Cgml
GPU-targeted vendor-agnostic AI library for Windows |
|
WhisperNet-TimestampFix
High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on ComLightInterop:
Repository | Stars |
---|---|
VRCWizard/TTS-Voice-Wizard
Speech to Text to Speech. Song now playing. Sends text as OSC messages to VRChat to display on avatar. (STTTS) (Speech to TTS) (VRC STT System) (VTuber TTS)
|
|
Const-me/Vrmac
Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
|
The library now supports properties in COM interfaces.
Getters/setters are required to be present in the interfaces as well, as normal COM methods.
This is to make easier to correlate what happens on the 2 sides of the interop, also to apply custom marshalling attributes to individual getter/setter methods and their parameters.
The feature is not exposed to C++, properties stay on the C# side of the interop.
Use `[Property]` custom attribute if you want to specify how exactly property is mapped to methods.
Without that custom attribute, `int prop{ get; set }` will use `getprop` and `setprop` methods. The mapping is case agnostic, `GetProp` and `SetProp` will work, too.
Also, for performance reasons, many classes in the library, including dynamically built proxy classes, are now sealed.