[IronPython] Problem loading IronPython on Vista 64

Matt Channer mchanner at gmail.com
Tue Mar 17 07:49:03 PDT 2009


Hi!

I am using IronPython 2.0.1 in a hosted environment (c# application running
on 64 bit Vista).  This works well when the application is compiled as a
32bit process, but I am getting the following error when running as an x64
process:

*Could not load file or assembly 'Microsoft.Scripting, Version=0.9.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its
dependencies. The specified module could not be found.*

Fuslogvw is not helping at the moment (nothing is reported there).  All ipy
\ DLR assemblies are in a sub directory which is included in the
assemblyBinding section of the apps config file (the error remains if they
are in the exe directory as well).

I tried a workaround (read: hack) by handling the AssemblyResolve event on
the app domain and loading the files from a known directory.  The problem I
then encountered is an exception in the IronPython.Runtime.SysModule
constructor (line 46) as it sets the prefix variable to the directory
containing the assembly, which fails as the Location is empty.

Below is the full exception:

*Microsoft.Scripting.InvalidImplementationException: Type
'IronPython.Runtime.PythonContext' doesn't provide a suitable public
constructor or its implementation is faulty: The type initializer for
'IronPython.Runtime.SysModule' threw an exception. --->
System.TypeInitializationException: The type initializer for
'IronPython.Runtime.SysModule' threw an exception. --->
System.ArgumentException: The path is not of a legal form.
   at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
   at System.IO.Path.GetDirectoryName(String path)
   at IronPython.Runtime.SysModule..cctor()
   --- End of inner exception stack trace ---
   at IronPython.Runtime.SysModule.PerformModuleReload(PythonContext
context, IAttributesCollection dict)
   at IronPython.Runtime.PythonContext..ctor(ScriptDomainManager manager,
IDictionary`2 options)
   --- End of inner exception stack trace ---
   at Microsoft.Scripting.Utils.ReflectionUtils.CreateInstance[T](Type
actualType, Object[] args)
   at
Microsoft.Scripting.Runtime.LanguageConfiguration.LoadLanguageContext(ScriptDomainManager
domainManager, Boolean& alreadyLoaded)
   at
Microsoft.Scripting.Runtime.DlrConfiguration.LoadLanguageContext(ScriptDomainManager
manager, LanguageConfiguration config)
   at
Microsoft.Scripting.Runtime.DlrConfiguration.TryLoadLanguage(ScriptDomainManager
manager, AssemblyQualifiedTypeName providerName, LanguageContext& language)
   at
Microsoft.Scripting.Runtime.ScriptDomainManager.GetLanguageByTypeName(String
providerAssemblyQualifiedTypeName)
   at Microsoft.Scripting.Hosting.ScriptRuntime.GetEngineByTypeName(String
assemblyQualifiedTypeName)
   at IronPython.Hosting.Python.GetEngine(ScriptRuntime runtime)
   at
Idbs.ActivityBase.DataImport.Scripting.ScriptingHosts.PythonScriptingHost.CreateEngine(String
configurationFile) in
C:\svn\xe\branches\anaconda\Shared\ImportProviders\PythonScriptingProvider\ScriptingHosts\PythonScriptingHost.cs:line
148
   at
Idbs.ActivityBase.DataImport.Scripting.ScriptingHosts.PythonScriptingHost.ScriptCanMapByIdentifiers(String
configurationFile) in
C:\svn\xe\branches\anaconda\Shared\ImportProviders\PythonScriptingProvider\ScriptingHosts\PythonScriptingHost.cs:line
52*

So my first question: how come the assemblies are not being found?
Secondly, is the exception in SysModule something that I should log?

Kind Regards,

Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ironpython.com/pipermail/users-ironpython.com/attachments/20090317/34118fae/attachment.htm>


More information about the Users mailing list