July 13, 2018

Tips & Tricks: How to build projects using Bopup IM Client SDK and Visual Studio C#

Bopup IM Client SDK is a COM library that can be used by C++, Visual Basic .NET and VBA (Microsoft Office) developers incliding programmers in C# language.


But last ones face with a strange exception by calling EnumXXX methods of IServerClientVB class of SDK. Those methods accepts Arrays as parameters (System.Array) that are marshalled to SAFEARRAY objects in the COM. Calling these methods fails with the exception

System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) 
System.StubHelpers.MngdSafeArrayMarshaler.ConvertSpaceToNative

The resolution is pretty simple and easy. It requires to enable the "Make assembly COM-visible" option in the project settings. Click Project menu and choose Properties... Then click "Assembly information..." button in Application section. The required checkbox is there. Click OK to confirm changes and then save project settings.

Download Bopup IM Client SDK — Build custom messenger app in C++, C# and Visual Basic .NET