I just ran into this using the PythonNet-1.0-beta3 release. If you start
interactive Python and do this:
>>> import CLR.System.Resources
No error is raised. However, the import has in fact failed:
>>> from CLR.System.Threading import Thread
>>> assemblies = Thread.GetDomain().GetAssemblies()
>>> [a.FullName.split(',', 1) for a in assemblies]
[u'mscorlib', u'python', u'Python.Runtime', u'e__NativeCall_Assembly',
The System.Resources module is in the System.Windows.Forms assembly, but as you
can see, that assembly has not been loaded.
I believe the problem is that the above import statement ultimately ends up in a
call to Assembly.LoadWithPartialName("System.Resources"). This fails because
there is no such assembly. For some reason, this failure does not seem to be
raising a Python exception, though I think it should.
The workaround is to import System.Windows.Forms before importing