目前我在将 DLL 放入 Windows GAC 时遇到问题。我尝试按照此博客文章中所述创建 DLL 并加载它的步骤:http: //blogs.technet.com/b/cloudpfe/archive/2014/02/01/how-to-create-a-用于活动目录联合服务的自定义身份验证提供程序 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,Version=4.0.0.0,Culture=neutral,PublicKeyToken=7514a164b89fa979’或其依赖项之一。系统找不到指定的文件。”
机器上确实存在指定的 DLL (System.EnterpriseServices)。
所以现在我的问题是,为什么这个方法不能找到 DLL,我必须做什么/改变才能让这个命令工作?
注意:我在仅安装了 ADFS 部件的普通 Windows Server 2012 R2 上进行了尝试;我已经从 Powershell 调用了该命令。
*更新: System.EnterpriseServices DLL 位于
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.1638 4_none_53a3f9b13fac0ba5\
所以它应该可以从 GAC 获得。