[IronPython] Accessing assembly names from Silverlight

Dino Viehland dinov at microsoft.com
Mon Apr 26 22:40:29 CEST 2010


Michael wrote:
> Hello all,
> 
> The following code dies in Silverlight:
> 
> import clr
> clr.AddReference("System.Xml")
> "System.Xml" in [assembly.GetName().Name for assembly in clr.References]
> 
> SystemError: Security transparent method
> System.Reflection.Assebly.GetName() cannot access
> Microsoft.Scripting.Actions... using reflection.
> 
> This is making it less useful to port the IronPython dotnet integration
> tutorial to Try Python. :-)
> 
> Repeated calls throw a slightly different error in the end (still a
> system error - but a different message).

This is actually just a limitation inside of Silverlight.  For some reason
Assembly.GetName() is a security critical method and cannot be called.  It
also fails in a simple C# Hello world app with:

Attempt by security transparent method 'SilverlightApplication1.MainPage..ctor()' to access security critical method 'System.Reflection.Assembly.GetName()' failed.

I have no clue why this limitation exists (maybe some information disclosure
issue?)  but I think you could do:

AssemblyName(assembly.FullName).Name

instead.




More information about the Ironpython-users mailing list