【问题标题】:Creating .NET Framework v.2.0 assembly in SQL Server 2012在 SQL Server 2012 中创建 .NET Framework v.2.0 程序集
【发布时间】:2014-01-24 23:18:22
【问题描述】:

我正在尝试通过 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' 不是兼容升级。

有人知道如何在 2.0 版的 .NET Framework .dll 上创建程序集吗?

【问题讨论】:

    标签: asp.net sql-server active-directory clr .net-assembly


    【解决方案1】:

    我在使用 SQL Server 2008 时遇到了类似的问题。我通过将路径更改为 Framework64 来解决它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多