[Ironruby-core] Can't build SilverlightV3 configuration

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


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/9e4561c7/attachment-0001.html>


More information about the Ironruby-core mailing list