现在就下载开源工具P/Invoke Interop Assistant -- 使用P/Invoke中进行签名转换的好帮手

P/Invoke Interop Assistant是一款帮助使用P/Invoke(及reverse P/Invoke)的开发人员进行托管代码与非托管代码之间签名转换的小工具。在一月份的MSDN杂志的网站上,我们曾经发布过它的第一个版本。经过整个团队的努力,现在我们终于把它搬上微软的开源网站CodePlex,和更多的开发人员共享它为开发工作带来的便捷,并提供全部的源代码,供大家参考和利用。

经常接触Interop marshalling的开发人员一定深刻的体会到marshalling的属性及规则的复杂性,而这些属性和规则也让很多刚刚接触这块领域的开发人员望而却步。对于COM Interop,我们有tlbimp.exe以及tlbexp.exe这样实用的小工具来帮助开发人员进行自动的签名转换并生成相应的文件,而对于P/Invoke来说,在这块领域几乎是片空白。这也就是我们为什么萌生出了开发P/Invoke Interop Assistant的想法。

P/Invoke Interop Assistant包含两个命令行的工具,分别对托管代码到非托管代码的签名转换进行文件批处理,以及其反向的批处理转换。它还包含了一个UI的工具,涵盖了所有的功能。使用者可以给工具指定一个有效的托管程序集文件,P/Invoke Interop Assistant就会把其中的托管代码的签名转换成非托管代码的签名显示出来,并对签名中可能出现问题的地方作出提示。对于反向转换,只要用户输入有效的非托管代码,或者在工具自带的数据库中进行选择,P/Invoke Interop Assistant就能将其转换成对应的托管代码签名。用户只要把转换后的结果进行复制,粘贴到自己的代码文件中就可以进行使用了。

关于更多P/Invoke Interop Assistant的介绍和使用方法,可以参阅随工具附带的参考手册。

要提一下的是,这个工具的开发在美国(由不同产品组的两个开发人员合作),测试及项目管理都在中国进行。这样的开发测试管理模型在我们的研发团队中其实并不多见,毕竟由于时空以及时区的不同,会给项目在交流上带来很多阻扰。好在团队成员之间默契的合作使这个工具顺利交付,并尽早的和开发社区共享。我们真切的希望可以得到更多开发人员的反馈,帮助我们对工具进行改进,使它在实际开发过程中能够发挥更大的作用!

现在就去我们的CodePlex主页下载P/Invoke Interop Assistant吧!

Comments

  • Anonymous
    June 16, 2008
    PingBack from http://www.basketballs-sports.info/basketball-chat/?p=1689

  • Anonymous
    June 26, 2008
    来看看我们的产品 之 集群性能监测 大家好,首先我非常高兴地为大家带来一个好消息,Windows HPC Server 2008的Beta 2已经发布啦!相较于上一个Beta版本,我们一方面进行了许多新的产品特性的开发,另一方面也修正了不少问题,相信大家一定已经迫不及待地想要一睹Beta

  • Anonymous
    July 13, 2008
    关于文件上传进度显示 考虑了几种方案 1.服务器端写了一个webservice,使用vs2008添加一个webservice引用,但是发现异步操作事件好像只有open和complete,不知道应该怎么获得上传的字节数 2.用sl的socket,不过这样要自己组织webservice请求,目前还没尝试 不知道有什么好办法呢,我是初学者,很高兴看到sl开发小组是中国人,而且还在上海.

  • Anonymous
    October 16, 2008
    在从托管代码里面调用非托管代码的时候,经常会翻阅MSDN找到需要调用的这个程序集里面的关于需要调用方法的签名,还要特别注意方法签名的写法。而且,有的时候我们找到一个非托管代码,对里面的调用方式还没有参...

  • Anonymous
    March 29, 2009
    最近在论坛上经常看到一些基本的interop的问题,给我动力写完之前的.net interop入门系列,给刚刚涉足.NET interop的朋友们一个大体上的概念。 每每谈及.NET interop,我的脑中总是出现下面一幅图: