[IronPython] Fail to execute "import System" on Silverlight embedded interpreter

Michael Foord fuzzyman at voidspace.org.uk
Tue Nov 10 21:25:11 CET 2009


Kay Schluehr wrote:
> Hi IronPython list,
>
> I worked along Michael Foords introductory article about embedding 
> IronPython in Silverlight together with his 
> "EmbeddingIronPythonSilverlight" project documented here:
>
> http://www.voidspace.org.uk/ironpython/silverlight/embedding_ironpython.shtml 
>
>
> I added the following two lines to the source code
>
>  source = pe.CreateScriptSourceFromString("import System", 
> SourceCodeKind.Statements);
>  source.Execute(scope);
>
> This worked all well with the given built and the shipped assemblies.
>
> Yesterday I downloaded the DLR dlr-34133, built it and replaced the 
> assemblies of the "EmbeddingIronPython..." project with the latest 
> SilverlightDebug ones. Running the code
> again I get following import error:
>
> System.NullReferenceException wurde nicht von Benutzercode behandelt.
>  Message="Der Objektverweis wurde nicht auf eine Objektinstanz 
> festgelegt."
>  StackTrace:
>       bei 
> Microsoft.Scripting.Silverlight.DynamicApplication.get_BaseUri()
>       bei 
> Microsoft.Scripting.Silverlight.DynamicApplication.MakeUri(Uri 
> baseUri, Uri relativeUri)
>       bei 
> Microsoft.Scripting.Silverlight.HttpVirtualFilesystem.GetFileInternal(Object 
> baseUri, Uri relativeUri)
>       bei 
> Microsoft.Scripting.Silverlight.BrowserVirtualFilesystem.GetFileInternal(Object 
> storageUnit, String relativePath)
>       bei 
> Microsoft.Scripting.Silverlight.BrowserVirtualFilesystem.GetFile(Object 
> storageUnit, String relativePath)
>       bei 
> Microsoft.Scripting.Silverlight.BrowserVirtualFilesystem.GetFile(String 
> relativePath)
>       bei Microsoft.Scripting.Silverlight.BrowserPAL.FileExists(String 
> path)
>       bei IronPython.Runtime.Importer.LoadModuleFromSource(CodeContext 
> context, String name, String path)
>       bei 
> IronPython.Runtime.Importer.LoadPackageFromSource(CodeContext context, 
> String name, String path)
>       bei IronPython.Runtime.Importer.LoadFromDisk(CodeContext 
> context, String name, String fullName, String str)
>       bei IronPython.Runtime.Importer.ImportFromPathHook(CodeContext 
> context, String name, String fullName, List path, Func`5 defaultLoader)
>       bei IronPython.Runtime.Importer.ImportFromPath(CodeContext 
> context, String name, String fullName, List path)
>       bei IronPython.Runtime.Importer.ImportTopAbsolute(CodeContext 
> context, String name)
>       bei IronPython.Runtime.Importer.ImportModule(CodeContext 
> context, Object globals, String modName, Boolean bottom, Int32 level)
>       bei IronPython.Modules.Builtin.__import__(CodeContext context, 
> String name, Object globals, Object locals, Object fromlist, Int32 level)
>  InnerException:
>
>
> Apparently, pre-loading assemblies in the loop
>
>    foreach (string name in new string[] { "mscorlib", "System", 
> "System.Windows", "System.Windows.Browser", "System.Net" })
>    {
>        
> runtime.LoadAssembly(runtime.Host.PlatformAdaptationLayer.LoadAssembly(name)); 
>
>    }
>
> had no effect and IronPython attempts to load the 'System' module from 
> the disk as a Python module. The standard import
> routine "import clr; clr.AddReference("System"); import System" causes 
> the same problem. I'm puzzled.

I've had horrible problems with imports in Silverlight when using 
embedded IronPython and didn't really get any good answers I'm afraid. :-(

Michael

>
> Regards, Kay
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


-- 
http://www.ironpythoninaction.com/




More information about the Ironpython-users mailing list