Identifying the minimal set of MIP SDK DLLs to deploy with the Component-Integration application.

I am developing a small desktop utility which triggers an Analytics Event in XProtect. Only below namespaces of SDK are used in the application.

Imports VideoOS.Platform

Imports VideoOS.Platform.Data

Imports VideoOS.Platform.Messaging

Imports VideoOS.Platform.SDK.Platform

The application works fine when NuGet package VideoOS.Plateform.SDK is installed. I observed that lot of files are downloaded for this package. I want to ask is there any possibility to identify only the required DLLs and adding their references in Visual Studio project instead of referring the whole package?

For the sack of testing, I removed the NuGet package from Visual Studio project and added the reference of only below shown DLLs of SDK, but there wasn’t any success.

For further testing, I re-installed VideoOS.Plateform.SDK NuGet package. Then I added a Setup Project to see which files it will detect as dependencies. It detected lot of dependency files as you can see in the below screenshot. Is there really need to deploy all these files with a small application which will invoke an Analytic Event in XProtect. Maybe a subset of these DLLs could be enough.

When Milestone introduced NuGet it was decided to include all dlls.

Prior to the introduction of NuGet the projects would reference the dlls directly.

Which dlls you need to reference is still described in the documentation.

As a bonus batch files to help you copy the right dlls still exists in the Bin folder.

Read about it here:

https://doc.developer.milestonesys.com/html/index.html?base=reference/architecture/net_library_initialization.html&tree=tree_2.html

Dear Bo Ellegård

Thank you for your reply. Actually I have seen this page. As per understanding I should refer VideoOS.Platform.SDK.dll and its dependency i.e. VideoOS.Platform.dll. I attempted for this, but there wasn’t any success. Could you please tell me what is/are the main DLLs for the namespaces which I am using, I will get their dependencies using the batch file.

Below are my namespaces:

Imports VideoOS.Platform

Imports VideoOS.Platform.Data

Imports VideoOS.Platform.Messaging

Imports VideoOS.Platform.SDK.Platform

Which CopyX.bat file to use depend on which initializations you do..

VideoOS.Platform.SDK.Environment.Initialize();
VideoOS.Platform.SDK.UI.Environment.Initialize();
VideoOS.Platform.SDK.Export.Environment.Initialize();

I am wondering if that is not the whole truth but please let me know what you initialize.

I am using only VideoOS.Platform.SDK.Environment.Initialize()

I have to answer that Milestone does not have a way to determine the minimal set of files for a given appplication. The formal response from Milestone will have to be that we recommend using the NuGet and cannot recommend removing files as there is no clear way to identify what is needed and what can be removed.