# Friday, 31 July 2009
« Responsible Disclosure, Irresponsible Pa... | Main | Serialization Interop »
IKVM 0.40 Update 1 Release Candidate 1

Another minor update.


  • Changed version to
  • Fixed regression introduced in 0.40 that caused ikvmc -classloader:<class> option to fail if <class> wasn't public.
  • Fixed regression introduced in 0.40 that caused ikvmstub on core class libraries to fail.
  • Fixed #2829717.

Binaries available here: ikvmbin-

Sources: ikvm-, classpath-0.95-stripped.zip, openjdk6-b12-stripped-IKVM-0.40.zip

Friday, 31 July 2009 08:50:46 (W. Europe Daylight Time, UTC+02:00)  #    Comments [10]
Sunday, 09 August 2009 20:51:06 (W. Europe Daylight Time, UTC+02:00)
I've just started to use your great cross-compiler and have few questions, if you don't mind me asking. First of all, I found out from the bugtracker, that releases are strong-named and development builds are not.
Do I understand it right, that updating versions of java classpath dlls causes necessity to update all *my* assemblies with re-compiled ones, even if nothing has changed? Probably, it would be good idea to add such option to ikvmc.exe (strong/weak naming)?

Another question, it's regarding Saxon.net: suppose, I have tons of pre-compiled xslt. Will I have the same problems with versioning if I recompile my libraries (but not xslt-templates) with some newer IKVM? And will I need to re-compile saxon.net as well?
Thanks in advance!
Monday, 10 August 2009 08:53:42 (W. Europe Daylight Time, UTC+02:00)
The blog comments are not for support questions. Please use the ikvm-developers mailing list.
Monday, 17 August 2009 22:05:19 (W. Europe Daylight Time, UTC+02:00)
It seems there is a problem with IKVMC tool.
If VS 2005(.NET framework 2.0) and VS 2008(.net framework 3.5) are installed on the same machine IKVMC will convert the .jar's into dll's using .NET 3.5 system dll's as reference.
I have tried to run IKVMC from VS 2005 command prompt but still doesn't help. I checked the code and probably the problem is with reflection emit (maybe it loads at runtime the 3.5 dll's from GAC?). I have also compared the location of assemblies loaded on event "ReflectionOnlyAssemblyResolve" for a machine which has only VS 2005 installed and a machine which has both VS 2005 and 2008 installed and the location for each assembly is the same...
This doesn't seem to create any major problems since 3.5 is actually 2.0 + some additional dll's (which we/IKVM does not use).
However when you try to add a reference from a VS 2008 project which has as build target Framework 2.0 to a converted jar, VS will prompt for a warning that the dll you want to add as reference uses a higher framework version.
The main problem is that for website projects the VS 2008 will prompt like 10 times (for each dll) every time you build the the website which is quite annoying.
Monday, 17 August 2009 22:09:01 (W. Europe Daylight Time, UTC+02:00)
I'm sorry I didn't copy paste entire content (I have write the above comment in another document).
So firs of all I missed the "Hello" line and the last line with signature "Calin Naghi".
I apologize for this.
Tuesday, 18 August 2009 08:11:58 (W. Europe Daylight Time, UTC+02:00)
The Visual Studio warning has nothing to with ikvmc compiling against 3.5 (which is really a meaningless statement, since as you point out 3.5 == 2.0 + some extras), but instead caused by the usage of System.Core.dll by IKVM.OpenJDK.Core.dll (to mark an extension method). I agree that the warning is annoying, but it can be safely ignored.
Tuesday, 18 August 2009 08:52:13 (W. Europe Daylight Time, UTC+02:00)
Thank you for the information. I will check this and see what I can do.
Friday, 11 September 2009 03:52:14 (W. Europe Daylight Time, UTC+02:00)
Hi, IKVM is very useful to my projects converting java class libraries to .NET assemblies.

How to compile it from source and load the solution from MSVS2008?
It seems there are broken references.

I can't find any links on how to compile it through Visual Studio.

Friday, 11 September 2009 06:03:09 (W. Europe Daylight Time, UTC+02:00)
You cannot compile it with just Visual Studio. The Visual Studio solution is only for editing (and somewhat for debugging).

Wednesday, 10 March 2010 14:37:09 (W. Europe Standard Time, UTC+01:00)
I think I have the same problem as calin, I cannot properly reference the created DLL from a .NET 2.0 project, I get a warning once upon inclusion of the library and then the compiler shows errors whenever I try to do a "using -namespace-" such as org.apache.... and it reads: "org namespace not found".

If I change the targeted framework to .NET 3.5 on my application then it works. But I do not want to change my targeted framework version to 3.5. Can this be fixed or do I have to port the damn thing myself?
Wednesday, 10 March 2010 14:53:54 (W. Europe Standard Time, UTC+01:00)
FIXED! For the interested, I tried a few IKVM versions and version seems to work with my .NET 2.0 project as it probably does not reference System.Core.dll.
Home page

I apologize for the lameness of this, but the comment spam was driving me nuts. In order to be able to post a comment, you need to answer a simple question. Hopefully this question is easy enough not to annoy serious commenters, but hard enough to keep the spammers away.

Anti-Spam Question: What method on java.lang.System returns an object's original hashcode (i.e. the one that would be returned by java.lang.Object.hashCode() if it wasn't overridden)? (case is significant)

Comment (HTML not allowed)  

Live Comment Preview