Microsoft 在 Server 2003 中为 AzMan(授权管理器)提供了 Microsoft.Interop.Security.AzRoles 互操作库。它是在 .NET 1.0 下构建的。
谁能告诉我这与创建对“azroles 1.0 类型库”(C:\Windows\system32\azroles.dll) 的引用之间是否有区别,该引用最终为 Interop.AZROLESLib?除了命名空间?它会在当前版本的 .Net 下创建吗?
Microsoft 在 Server 2003 中为 AzMan(授权管理器)提供了 Microsoft.Interop.Security.AzRoles 互操作库。它是在 .NET 1.0 下构建的。
谁能告诉我这与创建对“azroles 1.0 类型库”(C:\Windows\system32\azroles.dll) 的引用之间是否有区别,该引用最终为 Interop.AZROLESLib?除了命名空间?它会在当前版本的 .Net 下创建吗?
常用的 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(即使它是自动的)时,创建您自己的 Interop DLL(即使它是自动的)没有多大意义。使用 Microsoft.Interop.Security.AzRoles 程序集)。此外,虽然我没有看到这个程序集的证据,但理论上,互操作程序集可以提供额外的类似适配器的功能,使托管-非托管互操作更好地工作。
INTEROP.AZROLESLIB.DLL 由分类为安全的对象使用。
然而
Microsoft.Interop.Security.AzRoles 是方法和对象的授权互操作性包装器。