clr.AddReference和clr.ImportExtensions给出“预期类型,得到str”错误

时间:2013-10-10 18:42:29

标签: .net ironpython

我似乎无法在IronPython脚本中添加引用或导入任何扩展方法。例如,使用我的一个单元测试中的脚本:

import clr;
clr.ImportExtensions('FrEee.Utility.Extensions');
from System import Math;
x * y

我收到错误“期望的类型,得到str”。我尝试从'FrEee.Utility.Extensions'中删除引号,并将它们更改为双引号,但没有任何效果。我做错了什么?

(作为参考,单位测试将x和y的值注入脚本范围。)

1 个答案:

答案 0 :(得分:2)

哦,我明白了。

我需要将包含扩展方法的命名空间作为模块导入,并将模块传递给clr.ImportExtensions。我还需要使用clr.AddReferenceToFileAndPath来加载包含我想要导入的代码的DLL。

import clr;
clr.AddReferenceToFileAndPath('FrEee.Core.dll');
from FrEee.Utility import Extensions;
clr.ImportExtensions(Extensions);
x * y