[Ironruby-core] ruby implementation and Jscript implementation.

John Messerly jomes at microsoft.com
Sun Sep 23 17:21:40 EDT 2007

Yeah, using some tool to trace assembly loading is probably the right approach.

How are you running your javascript engine? Is it through the browser, or from the command line? AFAIK, Silverlight assemblies aren't found unless you are running inside the browser. That might be the problem you're seeing.

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour
Sent: Sunday, September 23, 2007 11:11 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] ruby implementation and Jscript implementation.


In fact, I have ever the good reference and nostdlib as you can see on my VS log.
I will try to use the cecil lib (reflection lib) to add some alert and check what lib is call.
Anyway thanks for your answer.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;NET_2_1;SILVERLIGHT /reference:"C:\Program Files\Microsoft Silverlight\Microsoft.JScript.Runtime.dll" /reference:bin\Release\Microsoft.Scripting.dll /reference:"C:\Program Files\Microsoft Silverlight\Microsoft.Scripting.Vestigial.dll" /reference:"C:\Program Files\Microsoft Silverlight\mscorlib.dll" /reference:"C:\Program Files\Microsoft Silverlight\system.dll" /debug:pdbonly /optimize+ /out:obj\Release\Microsoft.JScript.Compiler.dll /target:library

many thanks,
2007/9/21, John Messerly <jomes at microsoft.com<mailto:jomes at microsoft.com>>:

Hi Olivier,

>From the error message it does appear to that your project is referencing the 2.0 version of mscorlib, because that overload of DefineDynamicAssembly is only present in the Silverlight version of mscorlib. (A good way to see what assemblies are being referenced is to look at the command line that is being passed to csc).

If you're building this in Visual Studio, you'll want to create another project configuration (or two) for Silverlight builds, and then in that configuration check "don't automatically reference mscorlib" (under Project > Properties... > Build > Advanced...). Then add a reference to the Silverlight version of mscorlib and System. If you're using something else to build, you'll have to set whatever option excludes the automatic mscorlib reference, and adds correct reference paths. Whatever route you take, it should ultimately turn into these compiler flags:

csc.exe /nostdlib+ /reference:..\..\Program Files\Microsoft Silverlight\mscorlib.dll /reference:..\..\Program Files\Microsoft Silverlight\System.dll ...

(where your reference path might be slightly different depending on where your project is and where you put the Silverlight versions of mscorlib and System)

Another point worth mentioning, the version of mscorlib.dll & System.dll in Silverlight are still under development. The last source snapshot of Microsoft.Scripting (DLR) that was fully in sync with the Alpha Refresh release of Silverlight is the 2.0 alpha 1 release, here: http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=438 . If you're using a more recent version of the DLR, you might run into incompatibilities building against Silverlight. As both DLR and Silverlight stabilize we expect greater compatibility between releases.



From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [mailto:ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] On Behalf Of olivier dufour
Sent: Friday, September 21, 2007 3:19 AM
To: ironruby-core at rubyforge.org<mailto:ironruby-core at rubyforge.org>
Subject: [Ironruby-core] ruby implementation and Jscript implementation.


1) I am working on the mono jscript compiler as open source developer (not from novell team) and I reference the MS.Scripting.dll in my project but the MS.Scripting does not succeed to call the mscorlib.dll 2.1 whereas I copy the dll of silverlight in the folder of my compiler ;(.

The exception thrown is :
ReferenceError: Methode not found : System.reflection.Emit.AssemblyBuilder System.AppDomain.DefineDynamicAssembly (System.Reflection.AssemblyName, System.Reflection.Emit.assemblyBuilderAccess , Boolean).

Why the MS.Scripting.dll from silverlight can not detect the assembly of mscorlib.dll v2.1 of silverlight?
Is it because it found the mscorlib v2.0 of the GAC or because it is compile by csc of v2.0 wheras must be compiled byt csc 2.1 which is not public?

2) I like the ruby and want to help on it implementation.
I know that I have to sign the contributor agreements.
But before doing anything, I want to know the TODO and task list where I can help. Is there any wiki webpage or trac to manage task and todo? Because a lot of things must have go ahead since the first blog post.

Thanks for any answer,

olivier dufour

Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20070923/7888300c/attachment-0001.html 

More information about the Ironruby-core mailing list