Lync API с использованием PresenceIndicator, выводящего исключение TypeInitializationException в InitializationCompleted

#wpf #lync-2010 #lync #office365

#wpf #lync-2010 #lync #office365

Вопрос:

Я использую Lync API в приложении WPF. Я использовал Office365 Lync Lab 9.1 в учебном наборе. Однако, когда я перемещаю код в свое приложение WPF, PresenceIndicator или ContactList не работают. Элементы управления отображаются, однако статус пользователя Lync не отображается. Я использую те же учетные записи, которые работают в учебной лаборатории Office365 9.1.

Когда я добавляю ведение журнала, мне отображаются ошибки, подобные следующим для PresenceIndicator:

 Applying template...

Control 'PresenceIndicator' entering 'OnLoaded'

UCClientInitializationFailed:Failed to Create Provider. Error Type: TypeInitializationException
  

Я также пытаюсь использовать список контактов, и это выводит:

 UCClientInitializationFailed:Failed to Create Provider. Error Type: TypeInitializationException
  

Также свойство InitializationError в событии InitializationCompleted показывает неизвестную ошибку. Как мне устранить эту проблему дальше?

Ответ №1:

Это полная попытка в темноте, но вы пытаетесь добавить элементы управления в существующее приложение WPF, которое никогда раньше не интегрировалось с Lync?

Возможно, в вашем приложении отсутствуют ссылки — дважды проверьте наличие ссылок на следующие файлы в %program files% Microsoft Lync SDK Assemblies Desktop

  • Microsoft.Lync.Controls.dll
  • Microsoft.Lync.Controls.Framework.dll
  • Microsoft.Lync.Model.dll
  • Microsoft.Lync.Utilities.dll
  • Майкрософт.Office.Uc.dll

Также стоит проверить:

  • Ваше приложение построено на .NET Framework 3.5 или 4?
  • Вы создаете для AnyCPU?

Если это не поможет, вы можете попробовать создать новое приложение WPF с использованием шаблона «Приложение Lync WPF» в Visual Studio. Если это работает правильно, сравните это с вашим приложением для любых различий в ссылках, конфигурации и т. Д.

Эта страница MSDN может быть полезной.

Комментарии:

1. Спасибо. Да, это приложение, которое никогда не интегрировалось с Lync. Я добавил эти 5 ссылок, расположенных в Program Files (x86), и элементы управления появляются, только они не получат режим состояния Lync (т. Е. Онлайн / Оффлайн / Вернутся и т. Д.). Я создаю для .NET Framework 4 (полная платформа, а не профиль клиента), Также создаюдля любого процессора. Ссылка, которую вы включили, похоже, связана с Silverlight, msdn.microsoft.com/en-us/library/hh378604.aspx

2. Спасибо, я исправил ссылку. Все, что я могу предложить на данный момент, это попробовать новое приложение Lync WPF и посмотреть, столкнулись ли вы с теми же проблемами

3. Та же проблема с новым проектом. Я знаю, что это не проблема с Lync, поскольку Office365 Lab 9.1 работает нормально.

4. Если лаборатория работает нормально на вашей тестовой машине, но совершенно новый проект этого не делает, тогда я действительно в тупике. Я попытался сравнить все файлы в 2 разных проектах, и, похоже, существенных различий нет. Возможно ли, что ваше лабораторное приложение все еще работает при тестировании других приложений, и это вызывает проблему? </ Сбор мусора>

5. Если я удалю ссылку на Microsoft. Office.Uc.dll работает Lync API. Интересно, почему это могло произойти. В проекте Lab есть Microsoft. Office.Uc.dll в качестве ссылки и является C #, а мой проект VB.NET