SDK compatibility of Xprotect Smart client 2020 R3

Hello, thank you for your support. I’m experiencing an issue while developing a plugin and would like to ask about it.

The plugin developed using the v21.2 SDK appears to not be functioning properly on Xprotect 2020 R3.

(The plugin developed with the v20.3.0 SDK seemed to work well in Xprotect 2020 R3.)

However, when trying to use the features developed with the V21.2.0 SDK, the following exception occurs :

************** Outer Exception **************

Exception type:System.MissingMethodException

Exception message:Method not found: ‘Boolean VideoOS.Platform.FQID.op_Inequality(VideoOS.Platform.FQID, VideoOS.Platform.FQID)’.

Exception source: sourceName

Exception Target Site: targetSiteName

at targetSiteName(FQID fqid)

at VideoOS.RemoteClient.Application.UI.Panels.ViewModels.PlatformPanelViewModel.UpdateControls()

_

I have read through the related issues referenced in the links, but my code does not have any code that compares FQIDs. I only use them as parameters.

How to use BatAction (milestonesys.com)

Question Detail (milestonesys.com)

The call stack for the part where the exception is occurring is entirely within the DLL (Dynamic Link Library) portion.

As a result of checking by changing the SDK version, this exception does not occur until v21.1.0 SDK, but it occurs in versions after v21.2.0.

The differences I found between the two versions are as follows:

v21.1.0 (VideoOS.Platform.FQID)

public static bool operator ==(FQID obj1, FQID obj2) and

public static bool operator !=(FQID obj1, FQID obj2) do not exist.

v21.2.0 (VideoOS.Platform.FQID)

public static bool operator ==(FQID obj1, FQID obj2) and

public static bool operator !=(FQID obj1, FQID obj2) do exist.

Is this situation a version compatibility issue between the SDK and Xprotect smart client?

If it is a compatibility issue, I would like to know the range of SDK versions that Xprotect smart client 2020 R3 supports.

Thank you.

Best regards.

Please see this knowledge base article.. https://supportcommunity.milestonesys.com/KBRedir?art=000061468&lang=en_US

Thank you for your support! I have fixed the issue and the code is now functioning as intended.

However, after resolving the aforementioned issue, I encountered another exception.

************** Outer Exception **************

Exception type:System.MissingMethodException

Exception message:Method not found: ‘VideoOS.Platform.Messaging.PTZRectangleCommandData VideoOS.Platform.Client.ImageViewerAddOn.get_DigitalZoomRectangle()’.

Similarly, I am using the 2020R3 xprotect client and the property “get_DigitalZoomRectangle” is included since SDK v21.2. Could you please confirm whether this property is not available in the 2020R3 version?

This was introduced in 2021R2 - ref. - https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/mip2021r2_intro.html&tree=tree_search.html?search=addon

For you this means:

If you want to use this functionality the customer must use Smart Client 2021R2 or newer.

You might be in a situation where you need to have a plugin for newer clients that support the functionality, and another plugin for the older clients where you cannot have this functionality If you still need to support 2020R3.