[Ironruby-core] Can't build SilverlightV3 configuration

Charles Strahan charles.c.strahan at gmail.com
Sun Jul 25 10:52:03 EDT 2010


One other little detail while it's on my mind.  It turns out that you need
to have Ruby 1.8 on your path in order to build successfully - otherwise
generate_dlrjs.rb will fail:

C:/source/ironruby/Hosts/Silverlight/Scripts/generate_dlrjs.rb:18: invalid
multibyte char (US-ASCII)
C:/source/ironruby/Hosts/Silverlight/Scripts/generate_dlrjs.rb:18: invalid
multibyte char (US-ASCII)
C:/source/ironruby/Hosts/Silverlight/Scripts/generate_dlrjs.rb:18: syntax
error, unexpected $end, expecting ')'
dlrjs.gsub!(//, '')
               ^


We can either put this at the top:

# coding: utf-8

or replace the goofy UTF characters (I'd go with the latter).

I'll write up a patch and submit it, assuming none of the dev beat me to it
:).


-Charles


On Sun, Jul 25, 2010 at 9:19 AM, Charles Strahan <
charles.c.strahan at gmail.com> wrote:

> I just noticed another problem.  When I build IronRuby for Silverlight 4,
> the Microsoft.Dynamic assembly references the full .NET CLR's
> System.Numeric, as well as both Silverlights and the CLR's version of
> mscorlib. Here's the list of references, taken from Reflector:
>
> =====================
> // Assembly Reference Microsoft.Scripting
> Version: 2.0.5.0
> Name: Microsoft.Scripting, Version=2.0.5.0, Culture=neutral,
> PublicKeyToken=null
>
> // Assembly Reference mscorlib
> Version: 2.0.5.0
> Name: mscorlib, Version=2.0.5.0, Culture=neutral,
> PublicKeyToken=7cec85d7bea7798e
>
> // Assembly Reference mscorlib
> Version: 4.0.0.0
> Name: mscorlib, Version=4.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089
>
> // Assembly Reference System
> Version: 2.0.5.0
> Name: System, Version=2.0.5.0, Culture=neutral,
> PublicKeyToken=7cec85d7bea7798e
>
> // Assembly Reference System.Core
> Version: 2.0.5.0
> Name: System.Core, Version=2.0.5.0, Culture=neutral,
> PublicKeyToken=7cec85d7bea7798e
>
> // Assembly Reference System.Numerics
> Version: 4.0.0.0
> Name: System.Numerics, Version=4.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089
> =====================
>
> I think this might be related to this ticket on CodePlex:
> http://dlr.codeplex.com/Thread/View.aspx?ThreadId=210773
>
>
>
> I'm not sure if this part from Microsoft.Dynamic.csproj is responsible for
> the aforementioned problem or not, but this doesn't look right:
>     <Reference Include="System.Numerics, Version=2.0.5.0, Culture=neutral,
> PublicKeyToken=31bf3856ad364e35" Condition="'$(TargetFrameworkVersion)' ==
> 'v4.0' ">
>       <SpecificVersion>False</SpecificVersion>
>       <HintPath>$(SilverlightPath)\System.Numerics.dll</HintPath>
>     </Reference>
>
> System.Numerics.dll does not exist in "C:\Program Files (x86)\Microsoft
> Silverlight\4.0.50524.0" (SilverlightPath), so I'm pretty positive that
> needs to be changed to "C:\Program Files (x86)\Microsoft
> SDKs\Silverlight\v4.0\Libraries\Client" (or some macro that expands to that
> path).  Am I mistaken here?  That's the only folder on my disk that contains
> a copy of System.Numerics targeting Silverlight,
>
>
> I'm curious, how was the v1.1 release built (was it against SL 4.0.41108.0,
> or perhaps 4.0.50524.0)?  Is Silverlight horribly misconfigured on my
> machine... or are these actual problems?
>
>
>
> -Charles
>
>
>
>
> On Sun, Jul 25, 2010 at 7:08 AM, Charles Strahan <
> charles.c.strahan at gmail.com> wrote:
>
>> I can't build IronRuby configured for silverlight.  Here's the command I
>> tried:
>>
>> C:\source\RMXPx\src\Languages\Ruby>msbuild %DLR_ROOT%\Solutions\Ruby.sln
>> /p:Configuration="Silverlight3Debug" /p:SilverlightPath="C:\Program Files
>> (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\" >
>> c:\source\msbuild.txt
>>
>> Here's the error output:
>>
>> error CS1685 : Warning as error : The predefined type
>> 'System.Runtime.InteropServices.DefaultParameterValueAttribute' is defined
>> in multiple assemblies in the global alias; using definition from
>> 'c:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Stubs.cs'
>> [C:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Microsoft.Scripting.Core.csproj]
>> Actions\DynamicObject.cs(36,6): error CS0436: Warning as Error: The type
>> 'System.SerializableAttribute' in
>> 'c:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Stubs.cs' conflicts
>> with the imported type 'System.SerializableAttribute' in
>> 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll'. Using the type
>> defined in 'c:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Stubs.cs'.
>> [C:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Microsoft.Scripting.Core.csproj]
>> Actions\DynamicObject.cs(36,6): error CS0436: Warning as Error: The type
>> 'System.SerializableAttribute' in
>> 'c:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Stubs.cs' conflicts
>> with the imported type 'System.SerializableAttribute' in
>> 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll'. Using the type
>> defined in 'c:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Stubs.cs'.
>> [C:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Microsoft.Scripting.Core.csproj]
>> Done Building Project
>> "C:\source\RMXPx\src\Runtime\Microsoft.Scripting.Core\Microsoft.Scripting.Core.csproj"
>> (default targets) -- FAILED.
>> Done Building Project
>> "C:\source\RMXPx\src\Languages\Ruby\Ruby\Ruby.csproj" (default targets) --
>> FAILED.
>>
>>
>> I tried using the SilverlightPath above becuase I do not have a directory
>> like "C:\Program Files (x86)\Microsoft Silverlight\3.0....."
>>
>> This is what Alias.txt looks like, for reference:
>>
>> bsrbd    =msbuild %DLR_ROOT%\Solutions\Ruby.sln
>> /p:Configuration="Silverlight3Debug" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\3.0.50106.0"
>> bsrbr    =msbuild %DLR_ROOT%\Solutions\Ruby.sln
>> /p:Configuration="Silverlight3Release" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\3.0.50106.0"
>> bsd      =msbuild %DLR_ROOT%\Hosts\Silverlight\Silverlight.sln
>> /p:Configuration="Silverlight3Debug" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\3.0.50106.0"
>> bsr      =msbuild %DLR_ROOT%\Hosts\Silverlight\Silverlight.sln
>> /p:Configuration="Silverlight3Release" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\3.0.50106.0"
>> bsd4     =msbuild %DLR_ROOT%\Hosts\Silverlight\Silverlight4.sln
>> /p:Configuration="Silverlight4Debug" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\4.0.41108.0 "
>> bsr4     =msbuild %DLR_ROOT%\Hosts\Silverlight\Silverlight4.sln
>> /p:Configuration="Silverlight4Release" /p:SilverlightPath="C:\Program
>> Files\Microsoft Silverlight\4.0.41108.0 "
>>
>>
>>
>> And here are the directories I have on my machine:
>>
>> C:\Program Files (x86)\Reference
>> Assemblies\Microsoft\Framework\Silverlight\v3.0
>> C:\Program Files (x86)\Reference
>> Assemblies\Microsoft\Framework\Silverlight\v4.0
>> C:\Program Files (x86)\Microsoft SDKs\Silverlight\v3.0
>> C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0
>> C:\Program Files (x86)\Microsoft Silverlight\4.0.50524.0
>>
>>
>> While I do have "C:\Program Files (x86)\Microsoft Silverlight\4.0.50524.0"
>> (and using that to build IronRuby for Silverlight 4 works), I do not have a
>> similarly named folder for Silverlight 3.
>>
>>
>> Any suggestions for how I might build IR for Silverlight 3?  Am I missing
>> a folder, or does the latest Silverlight installer use a directory structure
>> that's incompatible with the IronRuby projects' assembly reference hints?
>>
>>
>> Thanks,
>>
>> -Charles
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100725/a3932a87/attachment.html>


More information about the Ironruby-core mailing list