Cannot rebuild C# Wrapper

We have recently started to switch over to using the C# wrapper for our windows app. We know that the C# wrapper is not fully maintained at this point, so our plan will be to add in and modify functionality as needed. When I download the latest C# wrapper (v5.5.12511.0422), I can add a reference to the existing zoom_sdk_dotnet_wrap.dll found in the \bin folder (which was built on 4/22/21). We can work with the code from the DLL, and the SDK Initialize call returns “SUCCESS”.

However, if I open the zoom_sdk_c_sharp_wrap.sln and rebuild the dll (Release, x86, with zero changes), referencing the new dll results in the sdk Initialize return “MODULE_LOAD_FAILED”. Note - we have made 0 changes to the wrapper code at this point, and I’ve done this several times to be absolutely sure. We simply open the wrapper C# project, update the build config to Release/x86, and rebuild, and the resulting dll fails to initialize the sdk.

Has anyone run into this? Are we just missing a step somewhere?

The only other thing I’ve noticed is a warning when building that the output directory (solution/config) does not match the Linker output (…/bin). I’ve tried modifying this config to line up, but this did not have any impact.

Hey @brook.ballard,

Thanks for using the dev forum! It is nice to see you again :slight_smile:

First, I would recommend isolating your environment to the c# demo application for troubleshooting.

The folder will contain two separate projects, zoom_sdk_demo (which is the demo c# project that utilizes the wrapper DLL) and the zoom_sdk_c_sharp_wrap which is the project that creates the wrapper DLL.

  1. Open both projects side-by-side
  2. Make a very simple change in the c_sharp_wrap project. For example, I removed a parameter from the initParam class.
  3. Clean the c_sharp_wrap solution, then build it. If any errors arise, resolve them and do that again.
  4. THEN, clean the demo project, and build the project. Reopen the file that would show the change and the removed parameter should be gone.

Note, when I clean and rebuild either project I am cleaning/rebuilding the the actual project and not the solution.

Let me know if you get to that point, if so, try again in your environment.

Keep in mind, however, that c# support is not in scope of Developer Support. When issues arise using the c# wrapper, Developer Relations will almost always ask you to reproduce issues in the c++ version. We hope to change this in the future.

Thanks!
Michael

Thanks for the quick response Michael. Yes- I have cleaned and rebuilt the wrapper, but this has not worked. Is the wrapper project coupled to the demo project? We only want to work with the wrapper, independently of the demo project. Basically, we want to plug the wrapper project into our project as an existing project, then modify and build out functionality in the wrapper, updating the dll each time, and referencing that updated dll from another project (within the solution). It seems like any time I move the wrapper dll away from the demo project, it stops working.

Hey @brook.ballard,

No, the wrapper is not dependent on the demo project. The only reason I ask to troubleshoot in the demo project is so that we are working on the same problem in the same environment. If the wrapper DLL not working after modification in your environment, it makes it hard to troubleshoot what the issue it. If the same issue is happening in the demo application we can compare what settings are different to resolve your issue.

Thanks!
Michael

Michael - as suggested, I isolated this issue to the wrapper/demo. Starting from a clean slate (freshly downloaded and unzipped wrapper) I made a single change to the zoom_sdk_dotnet_wrap.cpp file - commented out line 49 which is just setting the optionalFeatures property on the InitParam object. I then rebuilt the dll, and launched the demo project. The SDK Initializes successfully. I then added a reference to the zoom_sdk_dotnet_wrap.dll in our custom project, and added the same initialization code to our App_StartUp function. When launching our project, the SDK returns MODULE_LOAD_FAILED.

Hey @brook.ballard,

When you clean and rebuild the wrapper, you can see all of the files that were changed in the bin file(Check the date they were modified). Can you list out those files here so that I can compare?

Thanks!
Michael