TlbImp源码在CodePlex公开!欢迎下载

对.NET中COM Interop比较熟悉的朋友应该都对TlbImp比较了解了。这个工具是专门用来将Type Library(类型库)转换成对应的Interop Assembly,以便在.NET程序中使用对应的COM组件。这个Interop Assembly中主要包含RCW(Runtime Callable Wrapper)的Metadata(而非源代码。RCW的实现其实是在CLR内部),以及部分事件处理代码(如EventProvider),是.NET/COM Interop中不可或缺的一部分。

为了方便大家能够及时使用到最新版本的TlbImp(而不用等到下一个Visual Studio版本),参考TlbImp的实现,理解TlbImp的工作原理,以及添加新的功能,我们决定将最新版本的TlbImp在CodePlex上发布,并公开源代码。主页于今天早上上线:

http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=17579

这个版本主要由CLR Interop上海团队开发,完全使用托管代码(C#)编写,并相比之前的功能有以下增强:

1. 我们重新设计了TlbImp的错误信息显示,使其更加清楚明白,增加了一些新的错误信息。并且每条错误信息现在都有了自己的单独编号(如TI1033),以便在MSDN中查阅。由于相关的文档工作暂时还没有跟上,在不久的将来我们会把这部分内容加到MSDN上。

2. 在/verbose功能打开的时候,TlbImp可以针对命令行上指定的Type Library,自动在注册表和当前目录下查找该Type Library 所引用的其他Type Library,并提示找到的Type Library的所在位置。如果无法找到,则提示错误信息,并告知无法找到的Type Library的具体信息,如GUID,文件名,版本号等。生成结果则不受影响。这个信息可以给开发人员提示,避免因为找不到引用的Type Library而导致生成的Interop Assembly信息不全而产生的各种问题。

因为进度方面原因,暂时我们没有加入更多的新功能。在之后的几个月内,我们Team的一部份工作重心是为TlbImp加上客户所要求的新功能(另外一部分工作重心,自然是下一版本CLR相关的新功能啦。大家应该在下个版本VS的Beta版中应该可以看到),并提供强大的自定义功能。

如果对TlbImp有使用上的问题,请在本Blog或者在CodePlex主页上留言,我们将尽可能予以解答。如果大家对TlbImp有相关的建议,欢迎在本Blog或者CodePlex主页上跟我们分享一下你的想法,也许你的建议就会出现在下个版本的TlbImp中也说不定哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值