# Meeting SDK for Windows' C# wrapper

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

See some troubleshooting tips for the demo app, and learn how to add an interface to the C# wrapper.

> The C# wrapper is provided as a reference, and is not actively supported by Zoom.

Learn to [download the SDK with the C# wrapper](/docs/meeting-sdk/windows/get-started/download/) and [run the included demo app](/docs/meeting-sdk/windows/get-started/try-demo-app/).

## Troubleshooting

If you come across any issues running the demo app, check through these tips.

### .NET Framework

If you're using a newer version of Visual Studio, the automatic upgrade wizard might change some configuration settings.

-   Make sure that the **Target framework** is identical in both the `zoom_sdk_dontnet_wrap` and `zoom_sdk_demo` projects.
-   When you right-click on either of these projects in **Solution Explorer** > **Properties**, the **Application Tab** should show you the **Target Framework**, such as `.NET Framework x.x.x`. For example, if the `zoom_sdk_dontnet_wrap` project targets `.NET Framework 4.7.2`, change the target framework for `zoom_sdk_demo` to `.NET Framework 4.7.2` as well.

![Visual Studio target framework screenshot](/img/c-sharp-vs-target.png)

### Build configuration

-   If you are running the **x64 version** of the C# wrapper, set the **Configuration** to **Release** and **Platform** to target `x64`.
-   If you are running the **x86 version** of the C# wrapper, set the **Configuration** to **Release** and **Platform** to target `x86`.

Targeting `Any CPU` for **Platform** can be ambiguous. Explicitly set the **Platform** target.

-   Right-click on your **Solution**, such as `Solution` or `zoom_sdk_c_sharp_wrap`, and choose **Configuration Manager**.
-   In **Configuration Manager**, add `x86` or `x64` as the target platform if they don't already exist.

    ![Visual Studio platform screenshot](/img/c-sharp-vs-platform.png)

## Add a new interface

Since the C# wrapper is a community project, it may not include all interfaces available in the Windows SDK. However, as long as an interface is available in the Windows SDK, developers may configure the C# wrapper and make any interfaces available in the C# wrapper.

We'll use `AskAttendeeToStartVideo` as an example.

If your goal is to recompile the C# wrapper without adding new interfaces, only follow steps 1-3.

1. Download the latest C# wrapper from the [App Marketplace](https://marketplace.zoom.us/).

2. In Visual Studio, go to the `zoom_sdk_c_sharp_wrap` folder and open the solution file `zoom_sdk_c_sharp_wrap.sln`.

    ![Solution file shown in list of files](/img/1640057098233.png)

3. Once the project is opened, you'll see the project `zoom_sdk_dotnet_wrap`, which is the C# wrapper we'll be modifying.

    ![Solution explorer showing zoom_sdk_dotnet_wrap](/img/1640057106033.png)

    If your goal is just to recompile the wrapper, rebuild the solution now.

4. To add `AskAttendeeToStartVideo`, go to the `IMeetingVideoControllerDotNetWrap` class and add the new `AskAttendeeToStartVideo` interface.

    ![AskAttendeeToStartVideo interface highlighted in code](/img/1640057113832.png)

5. Add the same interface in the private ref class in `meeting_video_dotnet_wrap.h`.

6. Go to `meeting_video_dotnet_wrap.cpp` and add the `AskAttendeeToStartVideo` function.

    ![Screenshot of AskAttendeeToStartVideo function code](/img/1640057123816.png)

7. Rebuild the C# wrapper project. Once rebuilt, use this interface in your project.

Repeat the same steps for all other interfaces that you want to add.
