我正在尝试通过 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
然后失败并显示以下消息:
Assembly 'System.DirectoryServices' could not be installed because existing policy would keep it from being used.
我尝试使用以下代码在 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'
失败并显示以下消息:
Alter assembly from 'system.directoryservices, version=4.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a, processorarchitecture=msil' to 'system.directoryservices, version=2.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a, processorarchitecture=msil' is not a compatible upgrade.
有人知道如何在 2.0 版本的 .NET Framework .dll 上创建程序集吗?
最佳答案
我在使用 SQL Server 2008 时遇到了类似的问题。我通过更改 Framework64 的路径解决了该问题。
ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.DirectoryServices.dll' WITH PERMISSION_SET = UNSAFE
关于asp.net - 在 SQL Server 2012 中创建 .NET Framework v.2.0 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20968842/