Since modules aren't loaded from the file system the same way on SL, I
think it shouldn't cause too much of an issue. You can rebuild IP with the
change and see if it causes any other issues.

On Thu, Apr 19, 2012 at 3:34 PM, Keith Rome <r...@wintellect.com> wrote:

>  We were able to confirm that this problem affects our product as well.
> It shows up in both Silverlight 4 and 5 builds. I didn’t see an issue
> ticket created on CodePlex yet, so I created one.****
>
> ** **
>
> Is the best “fix” going to be to catch MethodAccessException and return an
> empty string from GetPrefix()? I am not familiar with the importance of
> that call.****
>
> ** **
>
> ** **
>
> *Keith Rome*
>
> *Senior Consultant and Architect*
>
> MCPD-EAD, MCSD, MCDBA, MCTS-WPF, MCTS-TFS, MCTS-WSS****
>
> Wintellect | 770.617.4016 | kr...@wintellect.com <r...@wintellect.com>****
>
> www.wintellect.com****
>
> ** **
>
> *From:* Mattias Ahlenius [mailto:matt...@goodsolutions.se]
> *Sent:* Thursday, April 19, 2012 2:16 PM
> *To:* Slide
> *Cc:* Keith Rome; ironpython-users@python.org
> *Subject:* Re: [Ironpython-users] Problem with embedding IronPython into
> Silverlight Application****
>
> ** **
>
> I've put together a small testproject, when I build it with target SL4 I
> get the same error as with the IronPython bins, but it works fine when I
> compile it to target SL5, I've attached a testproject as a .zip (just
> rename it from sip)****
>
> ** **
>
> /Mattias****
>
> 2012/4/19 Mattias Ahlenius <matt...@goodsolutions.se>****
>
> I think the binaries under: lib\Sl5 is compiled with SL4 as target and not
> with SL5, not sure but that may be the issue.****
>
> ** **
>
> /Mattias****
>
> ** **
>
>  ****
>
> ** **
>
> 2012/4/19 Slide <slide.o....@gmail.com>****
>
> No, that is correct, SL5 does include the FEATURE_ASSEMBLY_LOCATION
> property in the build, so you should be getting that code when you
> disassemble. Can you check if there is anything in the InnerException when
> you catch it?****
>
> ** **
>
> On Thu, Apr 19, 2012 at 7:28 AM, Mattias Ahlenius <
> matt...@goodsolutions.se> wrote:****
>
> Do I do something fundamentally wrong here... The below is what I get do a
> disasm on the SL5 assembly in the latest distribution (2.7.2.1)****
>
> ** **
>
> Greatful for any help I could get in the right direction.****
>
> ** **
>
> Best regards,****
>
> ** **
>
> Mattias****
>
> ** **
>
> 2012/4/18 Mattias Ahlenius <matt...@goodsolutions.se>****
>
> ** **
>
> I get the following when I make a disam in Reflector, the exception
> (System.MethodAccessException) that I'm getting is not subclassing neither
> SecurityException or ArgumentException which is catched and handled.****
>
> ** **
>
> ** **
>
> *private static string 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.String>
>  GetPrefix 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://IronPython:2.7.1300.40:7f709c5b713576e1/IronPython.Modules.SysModule/GetPrefix():String>()*
>
> *{*
>
> *    try*
>
> *    {*
>
> *        return Path 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.IO.Path>.GetDirectoryName
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.IO.Path/GetDirectoryName(String):String>(Assembly
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.Reflection.Assembly>.GetExecutingAssembly
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.Reflection.Assembly/GetExecutingAssembly():System.Reflection.Assembly>().Location
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Reflection.Assembly/property:Location:String>);*
>
> *    }*
>
> *    catch (SecurityException 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.Security.SecurityException>)*
>
> *    {*
>
> *        return string 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.String>.Empty
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.String/Empty>;*
>
> *    }*
>
> *    catch (ArgumentException 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.ArgumentException>)*
>
> *    {*
>
> *        return string 
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.String>.Empty
>  
> <http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:5.0.5.0:7cec85d7bea7798e/System.String/Empty>;*
>
> *    }*
>
> *}*
>
> * *
>
> ** **
>
> /Mattias
>
> ****
>
> * *
>
>     2012/4/18 Slide <slide.o....@gmail.com>****
>
> This really sounds like the assemblies you are referencing are not really
> the SL assemblies, can you open the assembly in ILSpy and decompile
> GetPrefix and see what you have?****
>
> ** **
>
> slide****
>
> ** **
>
> On Wed, Apr 18, 2012 at 1:44 PM, Mattias Ahlenius <
> matt...@goodsolutions.se> wrote:****
>
> Same exception even if I use the 2.7.2.1 bins: (I support you mean 2.7..
> and not 2.5..)****
>
> ** **
>
> Message: Failed to load language 'IronPython 2.7.2.1': The type
> initializer for 'IronPython.Modules.SysModule' threw an exception.****
>
> ** **
>
> InnerException:****
>
> ****
>
> ** **
>
> "Attempt by security transparent method
> 'IronPython.Modules.SysModule.GetPrefix()' to access security critical
> method 'System.Reflection.Assembly.get_Location()' failed."
>
> /Mattias****
>
> ** **
>
> 2012/4/18 Slide <slide.o....@gmail.com>****
>
> Please make sure you have 2.5.2.1 and not just 2.5.2.****
>
>
> On Wed, Apr 18, 2012 at 12:16 PM, Mattias Ahlenius
> <matt...@goodsolutions.se> wrote:
> > Thanks for your quick reply Keith,
> >
> > Tried you code and I still get the same Exception:
> >
> > "Attempt by security transparent method
> > 'IronPython.Modules.SysModule.GetPrefix()' to access security critical
> > method 'System.Reflection.Assembly.get_Location()' failed."
> >
> > /Mattias
> >
> >
> >
> > 2012/4/18 Keith Rome <r...@wintellect.com>
> >>
> >> Does this not work for you?
> >>
> >>
> >>
> >> using IronPython.Hosting;
> >>
> >> // ...
> >>
> >> _python = Python.CreateEngine();
> >>
> >>
> >>
> >> I believe that should handle the simple/typical scenarios, unless you
> need
> >> to alter the environment (such as plugging in a custom Host/PAL).
> >>
> >>
> >>
> >> If you need to customize the environment, then this should work:
> >>
> >>
> >>
> >> var options = new Dictionary<string, object>();
> >>
> >> ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(options);
> >>
> >> _runtime = new ScriptRuntime(setup);
> >>
> >> _python = Python.GetEngine(_runtime);
> >>
> >>
> >>
> >>
> >>
> >> This code should work exactly the same on desktop CLR and Silverlight.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Keith Rome
> >>
> >> Senior Consultant and Architect
> >>
> >> MCPD-EAD, MCSD, MCDBA, MCTS-WPF, MCTS-TFS, MCTS-WSS
> >>
> >> Wintellect | 770.617.4016 | kr...@wintellect.com
> >>
> >> www.wintellect.com
> >>
> >>
> >>
> >> From: ironpython-users-bounces+rome=wintellect....@python.org
> >> [mailto:ironpython-users-bounces+rome=wintellect....@python.org] On
> Behalf
> >> Of Mattias Ahlenius
> >> Sent: Wednesday, April 18, 2012 2:41 PM
> >> To: ironpython-users@python.org
> >> Subject: [Ironpython-users] Problem with embedding IronPython into
> >> Silverlight Application
> >>
> >>
> >>
> >> Hi,
> >>
> >>
> >>
> >> I'm new to scripting and would like to add support for IronPython to our
> >> Silverlight application, I have tried to find an answer on the net but
> could
> >> not find anyone else facing the same problem. The app is an out of
> browser
> >> application.
> >>
> >>
> >>
> >> I've added the latest release (2.7.2) from nuget, checked that the
> >> binaries being used is from the SL5
> libs-catalog: IronPython.2.7.2\lib\Sl5
> >>
> >>
> >>
> >> The code I use to create the scripting engine is the following:
> >>
> >>
> >>
> >> ..
> >>
> >>
> >>
>             _runtime = new 
> ScriptRuntime(DynamicEngine.CreateRuntimeSetup(true));
> >>
> >>             _python = _runtime.GetEngine("py");
> >>
> >> ..
> >>
> >>
> >>
> >> When GetEngine is executed I'll the following secutiry exception:
> >>
> >> "{System.MethodAccessException: Attempt by security transparent method
> >> 'IronPython.Modules.SysModule.GetPrefix()' to access security critical
> >> method 'System.Reflection.Assembly.get_Location()' failed.
> >>
> >>    at IronPython.Modules.SysModule.GetPrefix()
> >>
> >>    at IronPython.Modules.SysModule..cctor()}"
> >>
> >> When checking the code at GitHub for the method: GetPrefix()
> >>
> >>
> >>
> >> There are code checking a compiler-constant that seems to be if you
> >> running in "silverlight" (don't have diskaccess to the libs), but the
> code
> >> seems to be executed anyway, which makes me wonder if I still doesn't
> use
> >> the correct libs for Silverlight.
> >>
> >>
> >>
> >>
> >>
> >> Would really appreciate if someone could point me in the right
> direction.
> >>
> >>
> >>
> >>
> >>
> >> Have a nice day!
> >>
> >> --
> >>
> >> Best regards,
> >>
> >>
> >>
> >> Mattias Ahlenius
> >>
> >> 031 - 788 19 25
> >>
> >>
> >>
> >> Good Solutions AB
> >>
> >> http://www.goodsolutions.se
> >>
> >>
> >
> >
> >
> >
> > --
> >
> > Med vänlig hälsning,
> >
> > Mattias Ahlenius
> > 031 - 788 19 25
> >
> > Good Solutions AB
> > http://www.goodsolutions.se
> >
> >****
>
> > _______________________________________________
> > Ironpython-users mailing list
> > Ironpython-users@python.org
> > http://mail.python.org/mailman/listinfo/ironpython-users
> >
>
>
>
> --
> Website: http://earl-of-code.com****
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Med vänlig hälsning,****
>
> ** **
>
> Mattias Ahlenius****
>
> 031 - 788 19 25****
>
> ** **
>
> Good Solutions AB****
>
> http://www.goodsolutions.se****
>
> ** **
>
>
>
> ****
>
> ** **
>
> --
> Website: http://earl-of-code.com****
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Med vänlig hälsning,****
>
> ** **
>
> Mattias Ahlenius****
>
> 031 - 788 19 25****
>
> ** **
>
> Good Solutions AB****
>
> http://www.goodsolutions.se****
>
> ** **
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Med vänlig hälsning,****
>
> ** **
>
> Mattias Ahlenius****
>
> 031 - 788 19 25****
>
> ** **
>
> Good Solutions AB****
>
> http://www.goodsolutions.se****
>
> ** **
>
>
>
> ****
>
> ** **
>
> --
> Website: http://earl-of-code.com****
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Med vänlig hälsning,****
>
> ** **
>
> Mattias Ahlenius****
>
> 031 - 788 19 25****
>
> ** **
>
> Good Solutions AB****
>
> http://www.goodsolutions.se****
>
> ** **
>
>
>
> ****
>
> ** **
>
> -- ****
>
> Med vänlig hälsning,****
>
> ** **
>
> Mattias Ahlenius****
>
> 031 - 788 19 25****
>
> ** **
>
> Good Solutions AB****
>
> http://www.goodsolutions.se****
>
> ** **
>



-- 
Website: http://earl-of-code.com
_______________________________________________
Ironpython-users mailing list
Ironpython-users@python.org
http://mail.python.org/mailman/listinfo/ironpython-users

Reply via email to