Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在SQL Server 2012中创建.NET Framework v.2.0程序集_Asp.net_Sql Server_Active Directory_Clr_.net Assembly - Fatal编程技术网

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

Asp.net 在SQL Server 2012中创建.NET Framework v.2.0程序集,asp.net,sql-server,active-directory,clr,.net-assembly,Asp.net,Sql Server,Active Directory,Clr,.net Assembly,我正在尝试通过SQL Server 2012访问Active Directory。我的灵感来源是: 及 它们都在使用C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll的程序集 当我尝试使用以下代码创建此程序集时: CREATE ASSEMBLY [System.DirectoryServices] FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.507

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

它们都在使用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
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”,因为现有策略将阻止其被使用

我已尝试使用以下代码在v4.0上创建程序集:

CREATE ASSEMBLY [System.DirectoryServices]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
WITH PERMISSION_SET = UNSAFE
GO
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'
这是成功的。在此之后,我尝试使用以下代码更改此新程序集:

CREATE ASSEMBLY [System.DirectoryServices]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll'
WITH PERMISSION_SET = UNSAFE
GO
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上创建程序集吗?

我在SQL Server 2008中遇到过类似的问题。我通过将路径更改为Framework64解决了这个问题

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