<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 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:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>The problem is probably caused by assembly load (IronRuby/DLR assemblies are loaded in a different context). <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>To fix this you can install IronPython and IronRuby to GAC. Using gacutil tool (<a href="http://msdn.microsoft.com/en-us/library/ex0ss12c(VS.80).aspx)">http://msdn.microsoft.com/en-us/library/ex0ss12c(VS.80).aspx)</a> from <b>elevated</b> command line <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i IronPython.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i IronPython.Modules.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i IronRuby.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i IronRuby.Libraries.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i IronRuby.Libraries.YAML.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i Microsoft.Dynamic.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i Microsoft.Scripting.Debugging.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>gacutil /i Microsoft.Scripting.dll<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Then you can use <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>clr.AddReference(“IronRuby”)<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Tomas<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> users-bounces@lists.ironpython.com [mailto:users-bounces@lists.ironpython.com] <b>On Behalf Of </b>Dino Viehland<br><b>Sent:</b> Friday, April 16, 2010 3:12 PM<br><b>To:</b> Discussion of IronPython<br><b>Subject:</b> Re: [IronPython] IronPython code to call IronRuby fails; equivalent? C# code works<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'>Is this IronPython 2.6.1 and IronRuby 1.0?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> users-bounces@lists.ironpython.com [mailto:users-bounces@lists.ironpython.com] <b>On Behalf Of </b>john.cawley@rkeng.com<br><b>Sent:</b> Friday, April 16, 2010 2:20 PM<br><b>To:</b> Users@lists.ironpython.com<br><b>Subject:</b> [IronPython] IronPython code to call IronRuby fails; equivalent? C# code works<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I'm at the beginning stages of calling IronRuby from IronPython, but am having difficulty creating the ruby engine.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This code works from C# in VS2008:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> // with referenced assemblies IronRuby, IronRuby.Libraries, IronRuby.Libraries.YAML, Microsoft.Scripting, <o:p></o:p></p><p class=MsoNormal> // Microsoft.Scripting.Core from the IronRuby bin\ directory<o:p></o:p></p><p class=MsoNormal> var engine = IronRuby.Ruby.CreateEngine();<o:p></o:p></p><p class=MsoNormal> String s = engine.ToString();<o:p></o:p></p><p class=MsoNormal> MessageBox.Show( s, "test");<o:p></o:p></p><p class=MsoNormal> // successfully returns "Microsoft.Scripting.Hosting.ScriptEngine"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Trying to do the identical logic with this IronPython code:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> import clr, sys<o:p></o:p></p><p class=MsoNormal> clr.AddReferenceToFileAndPath( "C:/Apps/IronRuby/bin/IronRuby.dll" ) # after initially failed, tried adding specific path to IronRuby DLLs ...<o:p></o:p></p><p class=MsoNormal> clr.AddReferenceToFileAndPath( "C:/Apps/IronRuby/bin/IronRuby.Libraries.dll" )<o:p></o:p></p><p class=MsoNormal> clr.AddReferenceToFileAndPath( "C:/Apps/IronRuby/bin/IronRuby.Libraries.YAML.dll" )<o:p></o:p></p><p class=MsoNormal> clr.AddReferenceToFileAndPath( "C:/Apps/IronRuby/bin/Microsoft.Scripting.dll" )<o:p></o:p></p><p class=MsoNormal> clr.AddReferenceToFileAndPath( "C:/Apps/IronRuby/bin/Microsoft.Scripting.Core.dll" )<o:p></o:p></p><p class=MsoNormal> import IronRuby<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> for r in clr.References: print "ref", r # to verify I have the correct assemblies loaded<o:p></o:p></p><p class=MsoNormal> print ""<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> print "fence 0"<o:p></o:p></p><p class=MsoNormal> engine = IronRuby.Ruby.CreateEngine() # fails here<o:p></o:p></p><p class=MsoNormal> print "fence 1"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> print engine<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This gives this output:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> ref mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089<o:p></o:p></p><p class=MsoNormal> ref System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089<o:p></o:p></p><p class=MsoNormal> ref IronRuby, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35<o:p></o:p></p><p class=MsoNormal> ref IronRuby.Libraries, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35<o:p></o:p></p><p class=MsoNormal> ref IronRuby.Libraries.Yaml, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35<o:p></o:p></p><p class=MsoNormal> ref Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35<o:p></o:p></p><p class=MsoNormal> ref Microsoft.Scripting.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> fence 0<o:p></o:p></p><p class=MsoNormal> Traceback (most recent call last):<o:p></o:p></p><p class=MsoNormal> StandardError: Failed to load language 'IronRuby': Could not load type 'Microsoft.Scripting.Interpreter.ILightCallSiteBinder' from assembly 'Microsoft.Dynamic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I also added a reference to IronRuby’s version of the Microsoft.Dynamic.dll, but it still failed similarly. The logic I'm trying to execute is brief enough that there shouldn't be much that could go wrong, but ...<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks in advance for any insights!<o:p></o:p></p><p class=MsoNormal>--John<o:p></o:p></p></div></div></body></html>