IronPython, импорт и clr.AddReferenceByPartialName

В IronPython 2.7.1 я могу импортировать некоторые сборки .NET по имени:

>>> from System.Collections import *
>>> from System.IO import *

Остальные выдают ошибку:

>>> from System.Xml import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Xml

Для исправления ошибки выполните следующие действия:

>>> import clr
>>> clr.AddReferenceByPartialName('System.Xml')
>>> from System.Xml import *

Почему мне нужно вызывать clr.AddReferenceByPartialName для одних сборок, а для других - нет?


person ken    schedule 02.03.2012    source источник


Ответы (1)


Некоторые сборки, например mscorlib.dll, присутствуют по умолчанию. Если в документации к нужному классу указано, что он находится в mscorlib (например, http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx), то вам не нужно будет добавлять ссылку, иначе вы это сделаете. Это похоже на то, когда / почему вам нужно добавить ссылки на ваш проект C #.

person cwa    schedule 02.03.2012