Dino Viehland wrote:
Do you have a simple repro XAP you can send me and I'll take a look? I'm not entirely sure I'll know what's going on as CoreCLR isn't the CLR I'm used to debugging but it's not that different :)Attached is a xap file. It has a very simple package compiled with Pyc - and importing it throws the same error.
Michael
-----Original Message----- From: users-boun...@lists.ironpython.com [mailto:users- boun...@lists.ironpython.com] On Behalf Of Michael Foord Sent: Tuesday, April 21, 2009 2:41 AM To: Discussion of IronPython Subject: Re: [IronPython] Compiling with Pyc for Silverlight Dino Viehland wrote:You're compiling to a DLL and then trying to import (vs compiling toan EXE)?Yes - it's support packages we're trying to compile. I would have thought that compiling an exe for Silverlight was a lost cause... :-) There are two motivations, mainly speeding up import time but also source code obfuscation. If the assembly is genuinely serializable then we may at least achieve the second, so long as it doesn't make import time worse. Michael-----Original Message----- From: users-boun...@lists.ironpython.com [mailto:users- boun...@lists.ironpython.com] On Behalf Of Michael Foord Sent: Monday, April 20, 2009 3:07 PM To: Discussion of IronPython Subject: Re: [IronPython] Compiling with Pyc for Silverlight Michael Foord wrote:Jb Evain wrote:Hey Michael, On 4/20/09, Michael Foord <fuzzy...@voidspace.org.uk> wrote:I guess a full IL writer would be needed - which means back to Cecil and the like and seeing if parts of them could be run on Silverlight. *sigh*You just want to change the references to an assembly from thedesktopversion to the SL version? With Cecil it's like: var assembly = AssemblyFactory.GetAssembly (file); foreach (var reference in assembly.MainModule.AssemblyReferences){if (!IsTargetAssembly (reference)) continue; reference.Version = new Version (2, 0, 5, 0); } AssemblyFactory.SaveAssembly (assembly, file); Now it doesn't guarantee that the resulting assembly is coherent, visibility wise, as you may have used methods that are not visibleornot existent in SL.Thanks for that - if it would work it would be really useful,however...I think I've done the equivalent of this using ildasm / ilasm. I've disassembled the assembly to IL, then replaced the references withthereferences to Silverlight assemblies and re-assembled. The resulting assembly throws exactly the same error - which makesmethink that the assemblies compiled by Pyc are using things thataren'tavailable in Silverlight. *However* - Microsoft.Runtime.CompilerServices.StrongBox does exist in Silverlight. I think I'll try the whole process again just to see.Myguess is that rewriting would require an intimate knowledge of the differences between the CoreCLR and standard .NET.No - I've rerun the whole process from compiling with Pyc through to replacing the references in the il and reassembling. Same error.Shame.SystemError: Could not load type 'Microsoft.Runtime.CompilerServices.StrongBox`1' from assembly 'Microsoft.Scripting.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.app.py Michael FoordI can't import it in a Silverlight application though (thefollowingcode does work on the desktop version of IronPython): import clr clr.AddReference('Microsoft.Scripting') clr.AddReference('Microsoft.Scripting.Core') from Microsoft.Runtime.CompilerServices import StrongBox ImportError: No module named Runtime Michael-- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com-- http://www.ironpythoninaction.com/ _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
-- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog
app.xap
Description: Binary data
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com