本文介绍如何快速地将腾讯云 TRTC SDK(Windows C#)集成到 C# 项目中。
开发环境要求
- 操作系统:Windows 7及以上版本。
- 开发环境:Visual Studio 2010及以上版本,推荐使用 Visual Studio 2015。
- 开发框架:.Net Framework 4.0及以上版本。
集成 TRTC C# SDK
本节以创建一个简单的 Winform 项目为例,介绍如何在 Visual Studio 工程中集成 C# SDK。
步骤1:下载 Windows C# SDK
下载 SDK,解压并打开文件,包含以下部分:
目录名 | 说明 |
---|---|
TRTC-API-Example-CSharp | C# Demo 源码 |
SDK/CSharp | C# 版32位/64位依赖的 SDK 库文件 |
本文示例中,您只需要引用 SDK 目录下 C# 版的 SDK 文件即可。
步骤2:新建工程
打开 Visual Studio,新建名为TRTCCSharpDemo
的 Winform 应用程序。
步骤3:拷贝文件
将解压后的 SDK 文件夹拷贝至 TRTCCSharpDemo.csproj
所在目录。
步骤4:修改工程配置
- 添加引用
- 在 Visual Studio 的生成目录下找到配置管理器并打开。
- 在活动解决方案平台下拉框中选择新建,弹出新建解决方案平台对话框。
- 输入或选择新平台,单击确定。
- 根据实际需求重复 步骤2 - 步骤3 新建需要支持的解决方案平台。
- 打开 TRTCCSharpDemo 项目所在的文件夹,并用文本编辑器编辑
TRTCCSharpDemo.csproj
文件。 - 在
TRTCCSharpDemo.csproj
文件中的标签<itemGroup>
下添加以下内容://添加对不同平台下的引用 <Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'x64'"> <HintPath>SDK\CSharp\Win64\lib\ManageLiteAV.dll</HintPath> </Reference> <Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'AnyCPU'"> <HintPath>SDK\CSharp\Win64\lib\ManageLiteAV.dll</HintPath> </Reference> <Reference Include="ManageLiteAV" Condition="'$(Platform)' == 'x86'"> <HintPath>SDK\CSharp\Win32\lib\ManageLiteAV.dll</HintPath> </Reference>
- 添加 copy 命令
- 打开 TRTCCSharpDemo 属性页,选择解决方案资源管理器 > TRTCCSharpDemo 工程的右键菜单 > 属性。
- 在生成事件 > 后期生成事件命令行中添加以下命令,实现在编译完成后自动将不同平台下的 SDK 的 .dll 文件拷贝到程序的运行目录下,如下图所示:
set Platform=Win64 SETLOCAL ENABLEDELAYEDEXPANSION if $(PlatformName)==x86 ( set Platform=Win32 ) copy /Y "$(ProjectDir)SDK\CSharp\!Platform!\lib\*.dll" "$(ProjectDir)$(OutDir)" ENDLOCAL
- 修改调试环境
- 打开 TRTCDemo 属性页,选择生成,将平台(M)与顶部菜单栏中的解决方案平台设置为一致,如下图所示:
- 打开 TRTCDemo 属性页,选择生成,将配置(C)与顶部菜单栏中的配置设置为一致,如下图所示:
- 打开 TRTCDemo 属性页,选择生成,将平台(M)与顶部菜单栏中的解决方案平台设置为一致,如下图所示:
步骤5:打印 SDK 版本号
- 在 Form1.cs 的设计器中添加一个 label 控件,如下图所示:
- 打开 Form1.cs 代码文件,添加以下代码:
using System.Windows.Forms; using ManageLiteAV; // 1.添加命名空间引用 namespace TRTCCSharpDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); // 2.获取 ITRTCCloud 实例,打印 SDK 版本号 ITRTCCloud lTRTCCloud = ITRTCCloud.getTRTCShareInstance(); this.label1.Text = "SDK version : " + lTRTCCloud.getSDKVersion(); // 3.结束使用时需手动摧毁 ITRTCCloud 实例 ITRTCCloud.destroyTRTCShareInstance(); } } }
- 按 F5 运行,打印 SDK 的版本号,如下图所示:
常见问题
若出现以下错误,请按照 修改工程配置,检查 SDK 引用是否添加到工程中。
错误 CS0246 未能找到类型或命名空间名“ManageLiteAV”(是否缺少 using 指令或程序集引用?)
若出现以下错误,请按照 修改工程配置,检查是否修改工程运行平台环境为解决方案当前目标平台 。
System.BadImageFormatException:“未能加载文件或程序集“ManageLiteAV, Version=2.0.7152.18518, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。”
若出现以下错误,请按照 修改工程配置,检查是否正确添加生成事件到运行目录中。
System.IO.FileNotFoundException:“未能加载文件或程序集“ManageLiteAV.dll”或它的某一个依赖项。找不到指定的模块。”
由于 Windows 不同版本可能存在兼容性问题,目前在 C# SDK 中新增了解决兼容性问题的 dll 文件,文件清单如下图所示。