How to initialize iron ruby from c#


#1

Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes
from a c# application. extensive googling has not helped me with the
task
because there seem to have been much changes in iron ruby lately.
Here is my code:

var runtime = Ruby.CreateRuntime();
var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system
cannot find the file specified.”:“IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure
that IronRuby.Libraries.dll is added in the References of the project
but it
still can’t be loaded. Did I miss something obvious?

Any help would be much appreciated.
Thanks,
– Henon


#2

InvalidImplementationException is thrown here

not sure if it will solve your issue, but here’s what I’m using (worked
a
few days ago - code snippet sent by Tomas M.):

var engine = IronRuby.Ruby.CreateEngine();
engine.Execute(code);

hth,

– Thibaut


#3

The release on DLR CodePlex is broken. We are working on a fix. The
problem is in signed assemblies. Removing ir.exe.config (located next to
ir.exe) might help.

Tomas

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: Saturday, February 07, 2009 3:34 PM
To: removed_email_address@domain.invalid
Subject: [Ironruby-core] how to initialize iron ruby from c#

Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes from a c# application. extensive googling has not helped me
with the task because there seem to have been much changes in iron ruby
lately.

Here is my code:
var runtime = Ruby.CreateRuntime();
var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system cannot find the file specified.”:“IronRuby.Libraries,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure that IronRuby.Libraries.dll is added in the References of the
project but it still can’t be loaded. Did I miss something obvious?

Any help would be much appreciated.
Thanks,
– Henon


#4

You actually don’t need to remove it if you want to use it for
$LOAD_PATH support. Just change the private keys to null, instead of the
31… number.

JD

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Tomas M.
Sent: Saturday, February 07, 2009 5:39 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

The release on DLR CodePlex is broken. We are working on a fix. The
problem is in signed assemblies. Removing ir.exe.config (located next to
ir.exe) might help.

Tomas

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: Saturday, February 07, 2009 3:34 PM
To: removed_email_address@domain.invalid
Subject: [Ironruby-core] how to initialize iron ruby from c#

Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes from a c# application. extensive googling has not helped me
with the task because there seem to have been much changes in iron ruby
lately.

Here is my code:
var runtime = Ruby.CreateRuntime();
var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system cannot find the file specified.”:“IronRuby.Libraries,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure that IronRuby.Libraries.dll is added in the References of the
project but it still can’t be loaded. Did I miss something obvious?

Any help would be much appreciated.
Thanks,
– Henon


#5

I have just downloaded DLR.10476.release.zip from
http://nightlybuilds.cloudapp.net/Project.aspx?project=dlr

I edit my ir.exe.config as follow. Now ir.exe doesn’t crash.

<?xml version="1.0" encoding="utf-8" ?>
<section name="microsoft.scripting"

type=“Microsoft.Scripting.Hosting.Configuration.Section,
Microsoft.Scripting, Version=0.9.5.1, Culture=neutral,
PublicKeyToken=null”
requirePermission=“false” />

<microsoft.scripting>

<languages>

  <language names="IronPython;Python;py" extensions=".py"

displayName=“IronPython 2.6 Alpha”
type=“IronPython.Runtime.PythonContext,
IronPython, Version=2.6.0.1, Culture=neutral, PublicKeyToken=null” />

  <language names="IronRuby;Ruby;rb" extensions=".rb"

displayName=“IronRuby 1.0 Alpha” type=“IronRuby.Runtime.RubyContext,
IronRuby, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null” />

  <language names="ManagedJScript;JScript;js" extensions=".jsx;.js"

displayName=“Managed JScript” type=“Microsoft.JScript.Runtime.JSContext,
Microsoft.JScript.Runtime, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null” />

  <language names="ToyScript;ts" extensions=".ts"

type=“ToyScript.ToyLanguageContext, ToyScript, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null” />

</languages>



<options>

  <set language="Ruby" option="LibraryPaths"

value="…\Languages\Ruby\libs;…\External\Languages\Ruby\ruby-1.8.
6\lib\ruby\site_ruby\1.8;…\External\Languages\Ruby\ruby-1.8.6\lib\ru
by\site_ruby;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\1.8"
/>

</options>

</microsoft.scripting>

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Jim D.
Sent: domenica 8 febbraio 2009 8.37
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

You actually don’t need to remove it if you want to use it for
$LOAD_PATH
support. Just change the private keys to null, instead of the 31…
number.

JD

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Tomas M.
Sent: Saturday, February 07, 2009 5:39 PM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

The release on DLR CodePlex is broken. We are working on a fix. The
problem
is in signed assemblies. Removing ir.exe.config (located next to ir.exe)
might help.

Tomas

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: Saturday, February 07, 2009 3:34 PM
To: removed_email_address@domain.invalid
Subject: [Ironruby-core] how to initialize iron ruby from c#

Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes
from a c# application. extensive googling has not helped me with the
task
because there seem to have been much changes in iron ruby lately.

Here is my code:

var runtime = Ruby.CreateRuntime();

var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system
cannot find the file specified.”:“IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure
that IronRuby.Libraries.dll is added in the References of the project
but it
still can’t be loaded. Did I miss something obvious?

Any help would be much appreciated.

Thanks,

– Henon


#6

On Sun, Feb 8, 2009 at 12:33 AM, Meinrad R.
removed_email_address@domain.invalidwrote:

Hi, I found the cause of the error: IronRuby.Libraries.dll does not get
copied to the bin/debug location on build like the other dependencies
(i.e.
IronRuby.dll, etc. ) despite the fact that they are all correctly listed
as
references of the project. When I copy it manually everything works
fine.
Any idea, why it is not copied automatically?
Cheers,
– henon


#7

Copy Local is true. That is what confuses me.


#8

“Copy local” may be set to false ?

– Thibaut

Le 8 févr. 09 à 12:38, Meinrad R. removed_email_address@domain.invalid a
écrit :


#9

Did you add a reference to IronRuby.Libraries.dll to your C#
application?

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: Sunday, February 08, 2009 3:38 AM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

On Sun, Feb 8, 2009 at 12:33 AM, Meinrad R.
<removed_email_address@domain.invalidmailto:removed_email_address@domain.invalid> wrote:
Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes from a c# application. extensive googling has not helped me
with the task because there seem to have been much changes in iron ruby
lately.

Here is my code:
var runtime = Ruby.CreateRuntime();
var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system cannot find the file specified.”:“IronRuby.Libraries,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure that IronRuby.Libraries.dll is added in the References of the
project but it still can’t be loaded. Did I miss something obvious?

Hi, I found the cause of the error: IronRuby.Libraries.dll does not get
copied to the bin/debug location on build like the other dependencies
(i.e. IronRuby.dll, etc. ) despite the fact that they are all correctly
listed as references of the project. When I copy it manually everything
works fine. Any idea, why it is not copied automatically?
Cheers,
– henon


#10

Wow, this list is laggy – I posted this almost 4 hours ago! Sorry, I
obviously didn’t read your last paragraph. :frowning:

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Curt
Hagenlocher
Sent: Sunday, February 08, 2009 7:31 AM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

Did you add a reference to IronRuby.Libraries.dll to your C#
application?

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: Sunday, February 08, 2009 3:38 AM
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

On Sun, Feb 8, 2009 at 12:33 AM, Meinrad R.
<removed_email_address@domain.invalidmailto:removed_email_address@domain.invalid> wrote:
Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes from a c# application. extensive googling has not helped me
with the task because there seem to have been much changes in iron ruby
lately.

Here is my code:
var runtime = Ruby.CreateRuntime();
var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system cannot find the file specified.”:“IronRuby.Libraries,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure that IronRuby.Libraries.dll is added in the References of the
project but it still can’t be loaded. Did I miss something obvious?

Hi, I found the cause of the error: IronRuby.Libraries.dll does not get
copied to the bin/debug location on build like the other dependencies
(i.e. IronRuby.dll, etc. ) despite the fact that they are all correctly
listed as references of the project. When I copy it manually everything
works fine. Any idea, why it is not copied automatically?
Cheers,
– henon


#11

On Sun, Feb 8, 2009 at 4:30 PM, Curt H.
removed_email_address@domain.invalidwrote:

Did you add a reference to IronRuby.Libraries.dll to your C# application?

Now I think I know what was the problem: I had added a reference to
IronRuby.Libraries.dll do a dll project of my own and from there it did
not
get copied while at the same time IronRuby.dll which was referenced by
my
dll only too did get copied. Still don’t know why VS did copy only some
of
the references. Anyway, after adding it to the startup application too
it
worked fine.

Thanks,
– henon


#12

Uhmmm. I think you made so mistakes in your project.

I created this very simple Console Application from scratch

class Program

{

    static void Main(string[] args)

    {

        var engine = IronRuby.Ruby.CreateEngine();

        engine.Execute("puts 'hello world'");



        Console.Read();

    }

}

In order to compile it I need to add this libraries (just taken form
http://nightlybuilds.cloudapp.net/Project.aspx?project=dlr)

IronRuby

IronRuby.Libraries

Microsoft.Scripting

if I press F5 it works like a charm.

In my bin\debug folder I have

08/02/2009 18.07 4.608 ACSharpHostingConsole.exe

08/02/2009 18.07 11.776 ACSharpHostingConsole.pdb

08/02/2009 18.08 14.328 ACSharpHostingConsole.vshost.exe

02/02/2009 14.53 688.128 IronRuby.dll

02/02/2009 14.53 548.864 IronRuby.Libraries.dll

02/02/2009 14.52 368.640 Microsoft.Scripting.Core.dll

02/02/2009 14.53 958.464 Microsoft.Scripting.dll

02/02/2009 14.52 5.120
Microsoft.Scripting.ExtensionAttribute.dll

HTH

claudio

From: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] On Behalf Of Meinrad
Recheis
Sent: domenica 8 febbraio 2009 16.05
To: removed_email_address@domain.invalid
Subject: Re: [Ironruby-core] how to initialize iron ruby from c#

Copy Local is true. That is what confuses me.

On Sun, Feb 8, 2009 at 1:28 PM, removed_email_address@domain.invalid wrote:

“Copy local” may be set to false ?

– Thibaut

Le 8 févr. 09 à 12:38, Meinrad R. removed_email_address@domain.invalid a
écrit :

On Sun, Feb 8, 2009 at 12:33 AM, Meinrad R.
removed_email_address@domain.invalid
wrote:

Hi there,

I am trying to initialize an iron ruby engine for execution of code
snipptes
from a c# application. extensive googling has not helped me with the
task
because there seem to have been much changes in iron ruby lately.

Here is my code:

var runtime = Ruby.CreateRuntime();

var engine = m_runtime.GetEngine(“IronRuby”); // <—
InvalidImplementationException is thrown here

This is the inner exception.

{“Could not load file or assembly ‘IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null’ or one of its dependencies. The
system
cannot find the file specified.”:“IronRuby.Libraries, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null”}

This happens with the latest nightly build of DLR binaries. I did make
sure
that IronRuby.Libraries.dll is added in the References of the project
but it
still can’t be loaded. Did I miss something obvious?

Hi, I found the cause of the error: IronRuby.Libraries.dll does not get
copied to the bin/debug location on build like the other dependencies
(i.e.
IronRuby.dll, etc. ) despite the fact that they are all correctly listed
as
references of the project. When I copy it manually everything works
fine.
Any idea, why it is not copied automatically?
Cheers,

– henon


Ironruby-core mailing list
removed_email_address@domain.invalid
http://rubyforge.org/mailman/listinfo/ironruby-core