现在就下载开源工具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吧!