我正在尝试通过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”不是兼容的升级。
有人知道如何在.NET Framework .dll中创建版本为2.0的程序集吗?