Skype for Business 2016 没有客户端 SDK

No client SDK for Skype for Business 2016

我已经更新到 Skype for Business 2016 (Office 2016),我正在开发的与 Lync 客户端集成的桌面应用程序开始抛出异常。

我猜测 SDK 版本 15.0.4481.100 与 Skype for Business 版本 16.0.42.66.1003 不兼容,但我找不到比 Lync 2013 SDK 更新的 SDK (2014-03-17 ).

是否像 2013 一样不支持 Skype for Business 2016 的桌面客户端开发?

例外:
Unable to cast COM object of type 'System.__ComObject' to interface type
'Microsoft.Office.Uc.IAudioDevice2'. This operation failed because the QueryInterface call
on the COM component for the interface with IID '{86B3E5FE-4635-4C1E-A725-C80B71D04984}'
failed due to the following error: No such interface supported
(Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

更新

LyncClient.GetClient( sideBySide ).DeviceManager.AudioDevices

迭代音频设备时出现异常。使用嵌入式(UI 抑制)S4B 客户端启动和接受呼叫有效,sideByside 却不行。我原来的问题的答案似乎是肯定的,但不完全!

Lync Client SDK 2013 应该支持 Skype for Business 2016。目前还没有发布新的客户端 SDK。

您可以使用 ILyncClient "inner object"(来自 Microsoft.Office.Uc)解决此问题

例如:

    static bool SetClientAudioDevice(LyncClient client, string name)
    {
        var innerClient = (ILyncClient)client.InnerObject;
        var deviceManager = innerClient.DeviceManager;

        Console.WriteLine("Current audio device: [{0}]", client.DeviceManager.ActiveAudioDevice.Name);
        Console.WriteLine("Lync Client Audio Devices List:");
        var ok = false;
        foreach (var device in deviceManager.AudioDevices.OfType<Microsoft.Office.Uc.AudioDevice>())
        {
            Console.WriteLine("    AudioDevice: [{0}], Active[{1}], ID[{2}], IsCertified[{3}], Priority[{4}], Type[{5}]", device.Name, device.IsActive, device.Id, device.IsCertified, device.Priority, device.Type);

            if (device.Name.IndexOf(name, StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                Console.WriteLine("        Setting active device!");
                deviceManager.ActiveAudioDevice = device;
                ok = true;
            }
        }
        return ok;
    }

如 Ankit 所述,2013 SDK 也适用于 Skype for Business 2016。

要绕过安装限制 ("Microsoft Lync 2013 not found"),请使用 Jon Gallant 的建议: http://blog.jongallant.com/2016/08/solution-lync-2013-not-found/

即解压缩 lyncsdk.exe 并手动安装适当的 MSI(x86 或 x64)。