Re: [Ikvm-developers] Mono dependency of IKVM?
Brought to you by:
jfrijters
|
From: Enrico M. <enr...@gm...> - 2010-08-23 08:04:08
|
Am Montag, den 23.08.2010, 03:59 +0000 schrieb Jeroen Frijters:
> Hi Enrico,
>
> > I am trying to convert an java application into a .net exe by
> > referencing to some dlls converted with the same IKVM version 0.42.0.7.
> I'm not exactly sure what you mean by this. If you mean that you are trying to link your exe and the IKVM assemblies into a single assembly, that is unlikely to work correctly, unless you're lucky or know exactly what you are doing.
Sorry that I didn't expresse myself properly here. Let's try again. I am converting the jar that contains the main method with the help of ikvmc while referencing all required dlls that I also created using the same IKVM version. This is how it looks like:
IKVM_DLLS = $(shell find ikvm/bin -iname "*.dll" | grep -v
"ikvm-native.dll")
./ikvm/bin/ikvmc.exe -Xtrace:*=warning -removeassertions -target:exe
-out:application.exe ${IKVM_DLLS:%=-r:%} -r:application-lib.dll
-main:example.Application ./application.jar
> > I get the following exception:
> >
> > Error: referenced assembly IKVM.Reflection.Emit.MdbWriter has a missing
> > dependency: Mono.CompilerServices.SymbolWriter, Version=2.0.0.0,
> > Culture=neutral, PublicKeyToken=0738eb9f132ed756
> >
> > Does IKVM require some Mono references? Which are these?
> You don't need the IKVM.Reflection.*.dll assemblies at runtime, they are only for ikvmc.
But this means that in order to use ikvmc I need Mono installed and referenced, right?
> > I do not get this exception with IKVM 0.44.0.4. How come?
> Probably because you don't reference IKVM.Reflection.dll.
The dll is referenced, I just cross checked. Though Mono is not
installed the conversion worked perfectly with 0.44.0.4.
> > Further, with the latter version, I can convert my application and it
> > runs properly on the converting machine. However, on another machine, I
> > am getting this exception:
> [...]
> > The Zone of the assembly that failed was:
> > Internet
>
> This system is either misconfigured, or for some other reason the .NET Framework is applying the Internet zone policy to your app (or one of the assemblies). It has nothing to do with the IKVM assemblies not having a strong name.
Ok, so using the 0.42.0.7 release will not fix this exception. Then we will check the configuration next.
Thanks a lot,
Enrico
|