【发布时间】:2014-01-24 23:18:22
【问题描述】:
我正在尝试通过 SQL Server 2012 访问 Active Directory。我的灵感来源是:
和
http://www.pawlowski.cz/2011/04/querying-active-directory-sql-server-clr/
他们都使用汇编到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll。
当我尝试使用此代码创建此程序集时:
CREATE ASSEMBLY [System.DirectoryServices]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
WITH PERMISSION_SET = UNSAFE
GO
然后它失败并显示此消息:
无法安装程序集“System.DirectoryServices”,因为现有策略会阻止它被使用。
我尝试使用此代码在 v4.0 上创建程序集:
CREATE ASSEMBLY [System.DirectoryServices]
AUTHORIZATION [dbo]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.DirectoryServices.dll'
WITH PERMISSION_SET = UNSAFE
GO
它成功了。在此之后,我尝试使用以下代码更改这个新程序集:
ALTER ASSEMBLY [System.DirectoryServices]
FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
它失败并显示此消息:
将程序集从 'system.directoryservices,version=4.0.0.0,culture=neutral,publickeytoken=b03f5f7f11d50a3a,processorarchitecture=msil' 更改为 'system.directoryservices,version=2.0.0.0,culture=neutral,publickeytoken=b03f5f7f11d50a3a,processorarchitecture =msil' 不是兼容升级。
有人知道如何在 2.0 版的 .NET Framework .dll 上创建程序集吗?
【问题讨论】:
标签: asp.net sql-server active-directory clr .net-assembly