使用 Tlbimp 转换 COM DLL 现在有了 COM DLL,让我们来看看如何从一个托管客户端访问它。打开 Visual Studio 命令提示,然后转到创建 COM DLL 的目录。 现在运行以下命令: tlbimp MSDNCOMServer.dll Tlbimp.exe 是 .NET Framework SDK 中附带的类型库导入程序。 关于Tlbimp.exe的作用,可以参加以下图: ? 其实就.NET Application不能直接访问C++开发的COM组件编译出的MyComServer.dll,因此需要通过Tlbimp.exe生成一个Com组件的托管DLL,C#代码可以直接调用这一MyComServerLIB.dll
MultiSatellite_trainee\OutD\DVComLib.dll 有些Dll得先转换才注册成功 //转换DLL 在Visual Studio 2008 Command Prompt 键入 E:\>Tlbimp eg:E:\>Tlbimp E:\AssignmentFiles\MultiSatellite_trainee\OutD\DVCom.dll 转换成功提示如下 Microsoft (R) .NET Framework
(tlbimp封装无UI的ocx) 调用:vs2008在命令行下直接可以使用。aximp。vs2005则在sdk/v2.0/bin下有aximp。 运行后对ocx封装,得到两个文件。在vs中引用。
原因是: 因为 Microsoft.mshtmal.dll 这个 dll 是从 system32 文件夹下的 mshtml.tlb(COM 类型库文件)中导出的,因此我们只需要用 VS2008 自带的 TlbImp.exe
Microsoft.Office.Interop.Excel.dll 读取EXCEL文件 首先是Excel.dll的获取,将Office安装目录下的Excel.exe文件Copy到DotNet的bin目录下,cmd到该目录下,运行 TlbImp
完成此操作的最简单方法是使用 TlbImp.exe(类型库导入程序),它是一个包括在 .NET 框架 SDK 中的命令行工具。 TlbImp 将 COM 类型库转换为 .NET 框架元数据,从而有效地创建一个可以从任何托管语言调用的托管包装。 用 TlbImp 创建的 .NET 框架元数据可以通过 /R 编译器选项包括在 C# 内部版本中。 TlbImp 执行下列转换: 1、COM coclass 转换为具有无参数构造函数的 C# 类。 2、COM 结构转换为具有公共字段的 C# 结构。 虽然 TlbImp 是将 COM 定义转换为 C# 的首选方法,但也不是任何时候都可以使用它(例如,在没有 COM 定义的类型库时或者 TlbImp 无法处理类型库中的定义时,就不能使用该方法)。
Microsoft.Office.Interop.Excel.dll 读取EXCEL文件 首先是Excel.dll的获取,将Office安装目录下的Excel.exe文件Copy到DotNet的bin目录下,cmd到该目录下,运行 TlbImp
为了解决上面两步操作,CLR团队提供了tlbimp.exe这个程序,这个程序需要一个类型库(.tlb)文件,从类型库中获取COM对象和接口的定义,然后将这些定义转换成C#的定义,最后将C#的定义封装到一个所谓的 执行下面的命令从类型库文件生成Interop Assembly: tlbimp demosimpleobject.tlb Interop Assembly生成好了以后,就可以在C#程序中引用了,下面是
类型库引入器(Type Library Importer (TLBIMP.exe))工具可以把COM组件封装成.NET,以使以前的东西可以在.NET应用程序中继续使用。
CsWinRT工具在逻辑上类似于tlbimp和tlbexp,但要好得多。TLB工具依赖于.NET运行时中的大量COM互操作管道。CsWinRT工具只依赖于公共的.NETAPI。