I did try Assembly.LoadFile but this returned null, maybe for the same reason that I was seeing initially - whatever that is :-)
Fuslogvw now seems to be reporting binding failures (the setting I have is to Log bind failures to disk). Interestingly, none of the dlr / ipy assemblies are being logged here. I will write a simple test app to see if that exhibits the same problem. Thanks for the help! Matt 2009/3/17 Curt Hagenlocher <[email protected]> > Your explanation for the SysModule error sounds right -- if you use > Assembly.LoadFile instead, you'll probably avoid that exception. What > settings are you using in fuslogvw? > > > 2009/3/17 Matt Channer <[email protected]> > >> Hi, >> >> The machine is pretty clean and has no dlr / ipy assemblies in the gac. >> >> fuslogvw is not showing anything for me at the moment so I need to >> investigate that a bit more. >> >> I think the error in the SysModule constructor is because I used >> AppDomain.CurrentDomain.Load(byte[]) to try and work around the original >> issue (this was done in an AssemblyResolve event handler). >> >> Thanks, >> >> Matt >> >> >> 2009/3/17 Curt Hagenlocher <[email protected]> >> >> I don't know why there would be a difference between 32-bit and 64-bit, >>> but do you possibly have a copy of any of the IronPython bits in your GAC? >>> As to the "invalid path" error, you're probably getting it from the line >>> >>> prefix = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); >>> >>> which is consistent with some kind of assembly-loading weirdness. Odd >>> that nothing shows in fuslogvw. >>> >>> 2009/3/17 Matt Channer <[email protected]> >>> >>>> 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 >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> [email protected] >>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>>> >>>> >>> >>> _______________________________________________ >>> Users mailing list >>> [email protected] >>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >>> >>> >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> >> > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
