IronPython,import和clr.AddReferenceByPartialName

时间:2012-03-02 17:58:41

标签: .net ironpython

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

1 个答案:

答案 0 :(得分:3)

默认情况下,某些程序集(如mscorlib.dll)存在。如果您想要的类的文档说明它在mscorlib中(例如,http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx),那么您将不需要添加引用,否则您将需要。它类似于何时/为什么需要添加对C#项目的引用。