в настоящее время у меня проблема с получением DLL в Windows GAC. Я попытался выполнить шаги по созданию DLL и ее загрузке, как описано в этом сообщении в блоге: http://blogs.technet.com/b/cloudpfe/archive/2014/02/01/how-to-create-a-custom-authentication-provider-for-active-directory-federation-services-3-0-part-2.aspx
В тот момент, когда я пытаюсь вызвать следующую команду:
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7514a164b89fa979")
Я получаю сообщение об ошибке, которое говорит мне, что System.EnterpriseServices не может быть найден:
Исключение, вызывающее «Загрузить» с аргументом (-ами) «1»: «Не удалось загрузить файл или сборку «System.EnterpriseServices, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7514a164b89fa979» или одна из его зависимостей. Система не может найти указанный файл."
Указанная DLL (System.EnterpriseServices) существует* на компьютере.
Итак, теперь мой вопрос: почему этот метод не может найти DLL и что мне нужно сделать/изменить, чтобы эта команда заработала?
ПРИМЕЧАНИЕ. Я пробовал это на ванильном Windows Server 2012 R2 с установленными только частями ADFS; И я вызвал команду из Powershell.
*ОБНОВЛЕНИЕ: DLL System.EnterpriseServices находится в
C:\Windows\Microsoft.NET\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a
и
C:\Windows\WinSxS\amd64_system.enterpriseservices_b03f5f7f11d50a3a_4.0.9600.16384_none_53a3f9b13fac0ba5\
Таким образом, он должен быть доступен в GAC.