Microsoft在Server 2003中为AzMan(授权管理器)提供Microsoft.Interop.Security.AzRoles互操作库。它是在.NET 1.0下构建的。
有人能告诉我这是否有区别,并创建对“azroles 1.0类型库”(C:\ Windows \ system32 \ azroles.dll)的引用,最终为Interop.AZROLESLib?命名空间除了?事实上,它将在当前版本的.Net下创建?
答案 0 :(得分:2)
通常提供的Interop DLL(例如Microsoft.Interop.Security.AzRoles)的主要目的是确保当两个独立生成的程序集需要将对基础类型的引用传递给彼此时,类型标识符匹配。换句话说,如果AssemblyA.dll需要提供IComInterface类型的对象集合(来自ComComponent.dll)作为公共属性,则AssemblyB.exe需要将这些对象中的一个或多个传递回ComComponent .dll,那么你需要一个常见的Interop DLL。这就是Microsoft.Interop.Security.AzRoles.dll的用途。当您将项目中的引用添加到AzRoles.dll时,Visual Studio将为您构建一个新的Interop.AzRoles.dll程序集,该程序集具有该程序集唯一的标识符。
底线是您可能不关心传递这些引用,但是在已经为您创建了一个Interop DLL(即使它是自动的)时没有多大意义。使用Microsoft.Interop.Security.AzRoles程序集)。此外,虽然我没有看到这个程序集的证据,但理论上,Interop程序集可以提供额外的类似适配器的功能,使托管非托管互操作更好。
答案 1 :(得分:0)
INTEROP.AZROLESLIB.DLL由被分类为安全的对象使用。
在哪里
Microsoft.Interop.Security.AzRoles是方法和对象的授权互操作性包装器。