Re: Class.forName and csharp classes

<[email protected]> Fri, 17 Feb 2017 12:55:10 -0500
Newsgroups gmane.comp.java.ikvm.devel
Message-ID <[email protected]>
--===============6758688345394073946==
Content-Type: multipart/alternative;
	boundary="_693AC407-BABF-4AB5-8AF6-9DE841F69D8C_"

--_693AC407-BABF-4AB5-8AF6-9DE841F69D8C_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Martin,

Would you be willing to create and upload a test case for this into a Git R=
epository? If you don=E2=80=99t have a GitHub account I can create you a re=
pository to use. I=E2=80=99d like to get this into the set of Unit Tests. I=
n order to do that it would be incredibly helpful for you to create a bare =
bones example that exhibits the behavior you are seeing. I also didn=E2=80=
=99t see the versions of tools you were using. That would be helpful as wel=
l.

Feel free to contact me directly if you need help setting up the Test Case =
for this.

>From parts of my memory that could be completely fabricated I remember thei=
r being issues in certain versions of .NET when one would attempt to load c=
lasses from the Executing Domain that existed in the .exe assembly. I bet i=
f you were to create a new Assembly, create a class in it, then add it to t=
he path, everything would work. Also remember that the JDK after 7 (I belie=
ve) has it=E2=80=99s own pseudo Classloader domain-like management. So you =
might need to use a different classloader when attempting to .forName your =
new class.=20

Take a Java disassembler and see what your .NET CLR class is being turned i=
nto as well.

I hope to take a look at your sample test case and get this working for you=
. If you have any issues getting it somewhere online let me know asap and I=
=E2=80=99ll help.

Regards,

Andrew

{givenname}.{surname}@duelingcoders.com
{givenname}.{surname}@gmail.com


From: Martin Gerhardy
Sent: Friday, February 17, 2017 10:42 AM
To: Jeroen Frijters; [email protected]
Subject: Re: [Ikvm-developers] Class.forName and csharp classes

Hi Jeroen

maybe I am misisng something, but the csharp class is part of the exe, the =
dll (converted jar) is trying to load a class from the exe - do I have to a=
dd the exe to the classloader in the csharp application? Isn't that implici=
tly the case? Or do I have to create another dll for my csharp stuff and ju=
st reference it from a minimal exe?

Can you give an example on how to do that? Thanks again for helping me.

Regards
Martin
________________________________________
Von: Jeroen Frijters [[email protected]]
Gesendet: Freitag, 17. Februar 2017 16:19
An: Martin Gerhardy; [email protected]
Betreff: RE: Class.forName and csharp classes

Hi Martin,

In that case it is probably simply a class loader issue. The class loader y=
ou use for Class.forName() must be able to see the assembly. The easiest so=
lution is to add the assembly to the boot class loader with the ikvm.runtim=
e.Startup.addBootClassPathAssembly() method.

Regards,
Jeroen

> -----Original Message-----
> From: Martin Gerhardy [mailto:[email protected]]
> Sent: Friday, February 17, 2017 16:08
> To: Jeroen Frijters <[email protected]>; ikvm-
> [email protected]
> Subject: AW: Class.forName and csharp classes
>
> Hi Jeroen,
>
> thanks for the answer - I tried both:
>
> ---------------------------
> using System.Diagnostics;
> using System;
>
> [assembly: IKVM.Attributes.NoPackagePrefixAttribute]
> namespace foo
> {
>       class Foo
>       {
>               public Foo()
>               {
>               }
>       }
>
>       class MainClass
>       {
>               public static void Main (string[] args)
>               {
>                       Console.WriteLine("starting up...");
>                       Launcher.main("foo.Foo");
>               }
>       }
> }
> ---------------------------
>
>
> package foo;
>
> public class Launcher {
>       public static void main(final String name) {
>               try {
>                       System.err.println("Starting up and trying to load =
" +
> name);
>                       final Class<?> forName =3D Class.forName("cli." + n=
ame);
>                       System.out.println("Finished loading " + forName);
>               } catch (final ClassNotFoundException e) {
>                       e.printStackTrace();
>               }
>       }
> }
>
> ---------------------------
>
> Neither works - neither the additional cli. namespace prefix nor adding
> the attribute (Not sure if I did that one correctly)
>
> Compiling with the commands:
>       ikvmc -classloader:ikvm.runtime.ClassPathAssemblyClassLoader -
> assemblyattributes:$(BIN)/AssemblyInfo.class -target:library $<
>       mcs -target:exe -main:foo.MainClass -
> r:System.dll,IKVM.Runtime.dll,IKVM.OpenJDK.Core.dll,$(NAME).dll -
> out:proof-of-concept.exe GuiceRepro.cs AssemblyInfo.cs
>
>
>
> Regards
> Martin
>
> ________________________________________
> Von: Jeroen Frijters [[email protected]]
> Gesendet: Freitag, 17. Februar 2017 14:50
> An: Martin Gerhardy; [email protected]
> Betreff: RE: Class.forName and csharp classes
>
> Hi Martin,
>
> Did you take into account that the C# classes get a "cli." prefix in
> Java (by default)?
>
> You can apply the IKVM.Attributes.NoPackagePrefixAttribute to the class
> or assembly to disable this.
>
> Regards,
> Jeroen
>
> > -----Original Message-----
> > From: Martin Gerhardy [mailto:[email protected]]
> > Sent: Wednesday, February 15, 2017 11:34
> > To: [email protected]
> > Subject: [Ikvm-developers] Class.forName and csharp classes
> >
> > Hi,
> >
> > we are converting a deserialization jar via ikvm into a dll and bind a
> > csharp class via guice to some of the serialized classes. The java
> > code contains a call for Class.forName for that class. As our injected
> > class is a csharp class, this doesn't work. Is there any way to work
> > around this? (In the sense the Class.forName also finds csharp
> > classes?)
> >
> > Regards
> > Martin


---------------------------------------------------------------------------=
---
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Ikvm-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ikvm-developers


--_693AC407-BABF-4AB5-8AF6-9DE841F69D8C_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style></head><body lang=3DEN-US link=3Dblue vlink=3D"#954F72"><div cla=
ss=3DWordSection1><p class=3DMsoNormal>Martin,</p><p class=3DMsoNormal><o:p=
>&nbsp;</o:p></p><p class=3DMsoNormal>Would you be willing to create and up=
load a test case for this into a Git Repository? If you don=E2=80=99t have =
a GitHub account I can create you a repository to use. I=E2=80=99d like to =
get this into the set of Unit Tests. In order to do that it would be incred=
ibly helpful for you to create a bare bones example that exhibits the behav=
ior you are seeing. I also didn=E2=80=99t see the versions of tools you wer=
e using. That would be helpful as well.</p><p class=3DMsoNormal><o:p>&nbsp;=
</o:p></p><p class=3DMsoNormal>Feel free to contact me directly if you need=
 help setting up the Test Case for this.</p><p class=3DMsoNormal><o:p>&nbsp=
;</o:p></p><p class=3DMsoNormal>From parts of my memory that could be compl=
etely fabricated I remember their being issues in certain versions of .NET =
when one would attempt to load classes from the Executing Domain that exist=
ed in the .exe assembly. I bet if you were to create a new Assembly, create=
 a class in it, then add it to the path, everything would work. Also rememb=
er that the JDK after 7 (I believe) has it=E2=80=99s own pseudo Classloader=
 domain-like management. So you might need to use a different classloader w=
hen attempting to .forName your new class. </p><p class=3DMsoNormal><o:p>&n=
bsp;</o:p></p><p class=3DMsoNormal>Take a Java disassembler and see what yo=
ur .NET CLR class is being turned into as well.</p><p class=3DMsoNormal><o:=
p>&nbsp;</o:p></p><p class=3DMsoNormal>I hope to take a look at your sample=
 test case and get this working for you. If you have any issues getting it =
somewhere online let me know asap and I=E2=80=99ll help.</p><p class=3DMsoN=
ormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Regards,</p><p class=3DMsoN=
ormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Andrew</p><p class=3DMsoNor=
mal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>{givenname}.{surname}@dueling=
coders.com<o:p></o:p></p><p class=3DMsoNormal>{givenname}.{surname}@gmail.c=
om<o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNo=
rmal><o:p>&nbsp;</o:p></p><div style=3D'mso-element:para-border-div;border:=
none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DM=
soNormal style=3D'border:none;padding:0in'><b>From: </b><a href=3D"mailto:M=
[email protected]">Martin Gerhardy</a><br><b>Sent: </b>Friday, Februar=
y 17, 2017 10:42 AM<br><b>To: </b><a href=3D"mailto:[email protected]">Jero=
en Frijters</a>; <a href=3D"mailto:[email protected]">i=
[email protected]</a><br><b>Subject: </b>Re: [Ikvm-devel=
opers] Class.forName and csharp classes</p></div><p class=3DMsoNormal><o:p>=
&nbsp;</o:p></p><p class=3DMsoNormal>Hi Jeroen</p><p class=3DMsoNormal><o:p=
>&nbsp;</o:p></p><p class=3DMsoNormal>maybe I am misisng something, but the=
 csharp class is part of the exe, the dll (converted jar) is trying to load=
 a class from the exe - do I have to add the exe to the classloader in the =
csharp application? Isn't that implicitly the case? Or do I have to create =
another dll for my csharp stuff and just reference it from a minimal exe?</=
p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Can you gi=
ve an example on how to do that? Thanks again for helping me.</p><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Regards</p><p class=
=3DMsoNormal>Martin</p><p class=3DMsoNormal>_______________________________=
_________</p><p class=3DMsoNormal>Von: Jeroen Frijters [[email protected]]<=
/p><p class=3DMsoNormal>Gesendet: Freitag, 17. Februar 2017 16:19</p><p cla=
ss=3DMsoNormal>An: Martin Gerhardy; [email protected]</=
p><p class=3DMsoNormal>Betreff: RE: Class.forName and csharp classes</p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Hi Martin,</p><=
p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>In that case =
it is probably simply a class loader issue. The class loader you use for Cl=
ass.forName() must be able to see the assembly. The easiest solution is to =
add the assembly to the boot class loader with the ikvm.runtime.Startup.add=
BootClassPathAssembly() method.</p><p class=3DMsoNormal><o:p>&nbsp;</o:p></=
p><p class=3DMsoNormal>Regards,</p><p class=3DMsoNormal>Jeroen</p><p class=
=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; -----Original M=
essage-----</p><p class=3DMsoNormal>&gt; From: Martin Gerhardy [mailto:M.Ge=
[email protected]]</p><p class=3DMsoNormal>&gt; Sent: Friday, February 17=
, 2017 16:08</p><p class=3DMsoNormal>&gt; To: Jeroen Frijters &lt;jeroen@su=
matra.nl&gt;; ikvm-</p><p class=3DMsoNormal>&gt; [email protected]=
ge.net</p><p class=3DMsoNormal>&gt; Subject: AW: Class.forName and csharp c=
lasses</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNorma=
l>&gt; Hi Jeroen,</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=
=3DMsoNormal>&gt; thanks for the answer - I tried both:</p><p class=3DMsoNo=
rmal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; -------------------=
--------</p><p class=3DMsoNormal>&gt; using System.Diagnostics;</p><p class=
=3DMsoNormal>&gt; using System;</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:=
p></p><p class=3DMsoNormal>&gt; [assembly: IKVM.Attributes.NoPackagePrefixA=
ttribute]</p><p class=3DMsoNormal>&gt; namespace foo</p><p class=3DMsoNorma=
l>&gt; {</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 c=
lass Foo</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {=
</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 public Foo()</p><p class=3DMsoNorma=
l>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 {</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3DM=
soNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3DMsoNormal=
>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 class MainClass</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 {</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 public static =
void Main (string[] args)</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {</p><p cla=
ss=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 Console.WriteLine(&quot;starting up...&quot;);</p><p class=3DMsoNormal>=
&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Launcher.ma=
in(&quot;foo.Foo&quot;);</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p cla=
ss=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3DMso=
Normal>&gt; }</p><p class=3DMsoNormal>&gt; ---------------------------</p><=
p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt;<o:p>=
&nbsp;</o:p></p><p class=3DMsoNormal>&gt; package foo;</p><p class=3DMsoNor=
mal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; public class Launche=
r {</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 public=
 static void main(final String name) {</p><p class=3DMsoNormal>&gt;=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 try {</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 System.err.println(&quot;Starting up and trying to lo=
ad &quot; +</p><p class=3DMsoNormal>&gt; name);</p><p class=3DMsoNormal>&gt=
;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 final Class&lt=
;?&gt; forName =3D Class.forName(&quot;cli.&quot; + name);</p><p class=3DMs=
oNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Syste=
m.out.println(&quot;Finished loading &quot; + forName);</p><p class=3DMsoNo=
rmal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 } catch (final ClassNotFoundException e) {</p><p class=
=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 e.printStackTrace();</p><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=
=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3DMsoNo=
rmal>&gt; }</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMso=
Normal>&gt; ---------------------------</p><p class=3DMsoNormal>&gt;<o:p>&n=
bsp;</o:p></p><p class=3DMsoNormal>&gt; Neither works - neither the additio=
nal cli. namespace prefix nor adding</p><p class=3DMsoNormal>&gt; the attri=
bute (Not sure if I did that one correctly)</p><p class=3DMsoNormal>&gt;<o:=
p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; Compiling with the commands:</p=
><p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ikvmc -class=
loader:ikvm.runtime.ClassPathAssemblyClassLoader -</p><p class=3DMsoNormal>=
&gt; assemblyattributes:$(BIN)/AssemblyInfo.class -target:library $&lt;</p>=
<p class=3DMsoNormal>&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mcs -target:e=
xe -main:foo.MainClass -</p><p class=3DMsoNormal>&gt; r:System.dll,IKVM.Run=
time.dll,IKVM.OpenJDK.Core.dll,$(NAME).dll -</p><p class=3DMsoNormal>&gt; o=
ut:proof-of-concept.exe GuiceRepro.cs AssemblyInfo.cs</p><p class=3DMsoNorm=
al>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><=
p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; Rega=
rds</p><p class=3DMsoNormal>&gt; Martin</p><p class=3DMsoNormal>&gt;<o:p>&n=
bsp;</o:p></p><p class=3DMsoNormal>&gt; ___________________________________=
_____</p><p class=3DMsoNormal>&gt; Von: Jeroen Frijters [[email protected]]=
</p><p class=3DMsoNormal>&gt; Gesendet: Freitag, 17. Februar 2017 14:50</p>=
<p class=3DMsoNormal>&gt; An: Martin Gerhardy; [email protected]=
forge.net</p><p class=3DMsoNormal>&gt; Betreff: RE: Class.forName and cshar=
p classes</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNo=
rmal>&gt; Hi Martin,</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p cl=
ass=3DMsoNormal>&gt; Did you take into account that the C# classes get a &q=
uot;cli.&quot; prefix in</p><p class=3DMsoNormal>&gt; Java (by default)?</p=
><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; Yo=
u can apply the IKVM.Attributes.NoPackagePrefixAttribute to the class</p><p=
 class=3DMsoNormal>&gt; or assembly to disable this.</p><p class=3DMsoNorma=
l>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; Regards,</p><p class=
=3DMsoNormal>&gt; Jeroen</p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><=
p class=3DMsoNormal>&gt; &gt; -----Original Message-----</p><p class=3DMsoN=
ormal>&gt; &gt; From: Martin Gerhardy [mailto:[email protected]]</p><=
p class=3DMsoNormal>&gt; &gt; Sent: Wednesday, February 15, 2017 11:34</p><=
p class=3DMsoNormal>&gt; &gt; To: [email protected]</p>=
<p class=3DMsoNormal>&gt; &gt; Subject: [Ikvm-developers] Class.forName and=
 csharp classes</p><p class=3DMsoNormal>&gt; &gt;</p><p class=3DMsoNormal>&=
gt; &gt; Hi,</p><p class=3DMsoNormal>&gt; &gt;</p><p class=3DMsoNormal>&gt;=
 &gt; we are converting a deserialization jar via ikvm into a dll and bind =
a</p><p class=3DMsoNormal>&gt; &gt; csharp class via guice to some of the s=
erialized classes. The java</p><p class=3DMsoNormal>&gt; &gt; code contains=
 a call for Class.forName for that class. As our injected</p><p class=3DMso=
Normal>&gt; &gt; class is a csharp class, this doesn't work. Is there any w=
ay to work</p><p class=3DMsoNormal>&gt; &gt; around this? (In the sense the=
 Class.forName also finds csharp</p><p class=3DMsoNormal>&gt; &gt; classes?=
)</p><p class=3DMsoNormal>&gt; &gt;</p><p class=3DMsoNormal>&gt; &gt; Regar=
ds</p><p class=3DMsoNormal>&gt; &gt; Martin</p><p class=3DMsoNormal><o:p>&n=
bsp;</o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNorma=
l>-------------------------------------------------------------------------=
-----</p><p class=3DMsoNormal>Check out the vibrant tech community on one o=
f the world's most</p><p class=3DMsoNormal>engaging tech sites, SlashDot.or=
g! http://sdm.link/slashdot</p><p class=3DMsoNormal>_______________________=
________________________</p><p class=3DMsoNormal>Ikvm-developers mailing li=
st</p><p class=3DMsoNormal>[email protected]</p><p clas=
s=3DMsoNormal>https://lists.sourceforge.net/lists/listinfo/ikvm-developers<=
/p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></body></html>=

--_693AC407-BABF-4AB5-8AF6-9DE841F69D8C_--



--===============6758688345394073946==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
--===============6758688345394073946==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Ikvm-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ikvm-developers

--===============6758688345394073946==--