在SQL Server 2012中创建.NET Framework v.2.0程序集

4

我正在尝试通过SQL Server 2012访问Active Directory。我的灵感来源是:

http://blogs.msdn.com/b/ikovalenko/archive/2007/03/22/how-to-avoid-1000-rows-limitation-when-querying-active-directory-ad-from-sql-2005-with-using-custom-code.aspx

并且

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的程序集吗?

1个回答

0

我曾经遇到过SQL Server 2008的类似问题。我通过将路径更改为Framework64来解决它。

ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接