Dynamic CRM CrmServiceClient не может подключиться с использованием режима аутентификации Active Directory

Я пытаюсь подключиться к Dynamic CRM 2016 в помещении из веб-проекта asp.net. Я использую метод CrmServiceClient с режимом аутентификации Active Directory.

Я получаю следующее исключение.

{"Не удалось загрузить тип "Microsoft.IdentityModel.Clients.ActiveDirectory.PromptBehavior" из сборки "Microsoft.IdentityModel.Clients.ActiveDirectory, версия = 3.10.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35".":"Microsoft.IdentityModel. Клиенты.ActiveDirectory.PromptBehavior"}

new CrmServiceClient(
    new System.Net.NetworkCredential("adminuser", "pass", "domain"), 
    Microsoft.Xrm.Tooling.Connector.AuthenticationType.AD, 
    "http://sample.com", "4466", "DEV", useUniqueInstance:false, 
    useSsl:false)

Также пробовал это

new CrmServiceClient(ConfigurationManager.ConnectionStrings["CRM_CONN"].ConnectionString)

person Ahmed Abdullah Saeed    schedule 28.06.2016    source источник
comment
Не могли бы вы показать свой код?   -  person Filburt    schedule 28.06.2016
comment
@Filbur есть предложения?   -  person Ahmed Abdullah Saeed    schedule 28.06.2016
comment
Вы убедились, что Microsoft.IdentityModel.Clients.ActiveDirectory.dll на месте? Похоже, что эта DLL отсутствует или, возможно, заблокирована политикой безопасности, поскольку вы скопировали ее из сетевого расположения.   -  person Filburt    schedule 28.06.2016
comment
Именно там, визуальная студия давала мне исключение для этой dll. Я добавил текущую версию 3.10, используя nuget. После этого он дает мне это исключение. Похоже, это внутренняя проблема dll.   -  person Ahmed Abdullah Saeed    schedule 28.06.2016
comment
Я бы рекомендовал использовать сборки, предоставленные crmsdk в nuget — они должны содержать правильную версию. Я использовал их в консольном приложении со строкой подключения, которую вы пробовали во втором примере. Мой Microsoft.IdentityModel.Clients.ActiveDirectory.dll имеет версию 2.18.20625.1556.   -  person Filburt    schedule 28.06.2016


Ответы (1)


Отредактировано, я нашел решение.

Мне пришлось понизить версию: Microsoft.IdentityModel.Clients.ActiveDirectory до версии 2.27, чтобы это заработало. Более новые версии, которые я тестировал, имели ту же ошибку.

Надеюсь, это сработает и для вас!

person Trond Jelsnes Undrum    schedule 30.06.2016
comment
Да, я тоже сменил версию 2.18. Я думаю, Microsoft действительно запуталась в своих версиях. - person Ahmed Abdullah Saeed; 30.06.2016
comment
С 2.18 работает? Я могу найти 2.18 в своем консольном приложении, но в своем веб-приложении я не могу откатиться дальше 2.27. - person Trond Jelsnes Undrum; 30.06.2016
comment
Только 2.28 работает с версией 4.5.2 .NET Framework. - person hdoghmen; 08.12.2016