[IronPython] Compiling IronPython for .NET 3.5

Curt Hagenlocher curt at hagenlocher.org
Fri Sep 26 15:21:43 CEST 2008


No, you haven't done anything wrong.  I never tested those instructions when
Harry asked me to proof them, and forgot that the namespace hackery that we
did for InteropServices would cause a conflict if you were to link against
both System.Core and Microsoft.Scripting.Core.

We're currently investigating some other alternatives for getting rid of
those warnings.

On Fri, Sep 26, 2008 at 5:03 AM, Fernando Correia <
fernandoacorreia at gmail.com> wrote:

> Thanks to the team for facing the heavy changes that were required to
> improve the compatibility of IronPython and DLR with projects that target
> .NET Framework 3.5. From Harry's account[1], we can see that it took a lot
> of smarts and guts to do.
>
> [1] http://devhawk.net/2008/09/17/DLR+Namespace+Change+Fire+Drill.aspx
>
> Since that blog post hints that it should be possible to produce a native
> 3.5 version of IPy and DLR that wouldn't give that warning1685, I tried to
> follow the instructions:
>
> > If you're willing to compile from source yourself, it's fairly easy
> > to build a set of binaries for a specific version .NET that doesn't
> > have the warning. If you're building for v3.5, you need to remove
> > Extension.cs from the three projects that have a copy of it
> > (Microsoft.Scripting.Core, Microsoft.Scripting, IronPython) and
> > add a reference to System.Core.dll.
>
> Well, I tried that, and I didn't find it fairly easy. My attempt was like
> this:
>
> 1. Open IronPython.sln
> 2. Remove projects Chiron, IronPythonConsole, IronPythonTest,
> IronPythonWindow, Microsoft.Scripting.Silverlight
> 3. Change all 4 remaining projects to target Framework 3.5.
> 4. Clean and build the solution in release mode. Get errors like:
> * The referenced component 'System' could not be found.
> * The referenced component 'mscorlib' could not be found.
> * The referenced component 'System.Core' could not be found.
> 5. Remove all references that were not found and add them again.
> 6. Delete these files:
> * IronPython\Extension.cs
> * Microsoft.Scripting.Core\Utils\Extension.cs
> * Microsoft.Scripting\Utils\Extension.cs
> 7. Get errors like:
> * Error    1    'StrongBox' is an ambiguous reference between
> 'System.Runtime.CompilerServices.StrongBox<bool>' and
> 'Microsoft.Runtime.CompilerServices.StrongBox<bool>'
> 8. Replace all occurrences of StrongBox with
> Microsoft.Runtime.CompilerServices.StrongBox.
> 9. Repeat for IStrongBox.
> 10. Get errors like:
> * 'Func' is an ambiguous reference between
> 'System.Func<Microsoft.Scripting.Actions.CallSite,object,int>' and
> 'Microsoft.Func<Microsoft.Scripting.Actions.CallSite,object,int>'
> 11. Replace all occurrences of Func with Microsoft.Func.
> 12. Again the same for 'System.Action' and 'Microsoft.Action'.
> 13. Now all 4 projects compile for framework 3.5. I don't feel like
> deploying them, though, for fear of some side-efect of all those
> replacements.
>
> If anyone can tell me where I made a mistake, I appreciate.
>
> Cheers!
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080926/17dd744c/attachment.html>


More information about the Ironpython-users mailing list