在java中调用.net程序集的最佳和简单方法

存在一种在java中调用.net程序集更具体的.dll文件的方法吗?

我正在为.net开发一个框架现在我需要将它迁移到java,我可以这样做吗? 我在.net中使用c#。

检查这个响应是否有用.. 从java jvm中调用.net程序集崩溃..

来到这个有趣的网站(可能不会对你有所帮助)…

dotnetfromjava.dev.java.net

最简单的方法应该是COM启用.Net程序集。 这样,您可以像通常的WIN32 DLL一样调用任何方法。

有些样本可以在这里找到: http : //www.devx.com/interop/Article/19845

不需要COM对象,我也不会推荐任何自定义解决方案,因为它就像重新发明轮子一样。 有很多具体案例和有关此类集成的详细信息,如“ref”,“out”,generics方法等等……我最好建议使用JAVA到.NET桥,如www .javonet.com 。

这是关于这个解决方案的简短文章: http : //javabridges.hubpages.com/hub/Using-NET-libraries-from-JAVA-is-that-possible

还有其他这样的桥接器,但是使用javonet可以获得非常简单的API,只需一个JAR文件,您就可以复制.NET dll并直接调用它而无需任何额外步骤。 它支持.NETexception,对象处理,调用实例和静态方法,包括generics,设置/获取字段等等……你在java中使用.NET dll对象,就像它们是原生的JAVA类一样。

用法示例如下:

//Sample Usage of .NET Random Class from JAVA using Javonet NObject dotNetRandom = Javonet.New("System.Random"); Integer randomNumber = dotNetRandom.invoke("Next",5,10); 

请注意,如果可能,这样的桥会自动将结果转换为本机JAVA类型,方法参数也是如此。 您可以在Javonet网站上的快速入门指南中阅读大量示例。