Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News IKVM.NET 7.0 Released

IKVM.NET 7.0 Released

This item in japanese

The IKVM.NET project has released version 7 of its implementation of Java for the Mono platform and Microsoft .NET Framework. This project, developed by Jeroen Frijters, is designed to bridge the gap between the JVM and the .NET platform. IKVM.NET provides the capability to run Java-based applications on .NET, and supports both Microsoft's .NET Framework and Mono 2.0.


The following components compose the IKVM.NET project:

A Java Virtual Machine implemented in .NET 

A .NET implementation of the Java class libraries

Tools that enable Java and .NET interoperability


The latest release brings about several new features including a focus on incorporating support based on OpenJDK 7 b147 and Java 7 JVM changes. Selected improvements made since the previous release include:

  • Java annotations on statically compiled code are now returned as java.lang.reflect.Proxy objects for compability with broken code that assumes this is always the case.
  • Added delegate conversion for java.lang.reflect.InvocationHandler to ikvm.runtime.Delegates.
  • Changed build and JNI code to use different names for the Windows x86 and x64 versions of the native dll.
  • Retain reflection field ordering for ikvmc compiled code (not required by spec, but to improve compatibility with broken code).
  • Interop between java.lang.AutoCloseable and System.IDisposable.
  • Fixed in append mode to use atomic append.
  • Added -Xnoglobbing option to ikvm.exe.
  • Implemented dual stack sockets (Windows Vista and up only).
  • Implemented platform MBean server.
  • Implemented SocketChannel.sendOutOfBandData().
  • Implemented DatagramChannel multicast methods.
  • Removed mapping of System.Security.VerificationException to java.lang.VerifyError.
  • IKVM.Reflection: Massive enhancements to support a very large portion of the managed PE capabilities (much more than System.Reflection.Emit).

Release notes indicate that this release has been tested on both 32-bit and 64-bit versions of .NET Framework 2.0 SP2 and .NET 4.0 under Windows.


Rate this Article