【问题标题】:Problem importing System.Dynamic in IronPython在 IronPython 中导入 System.Dynamic 时出现问题
【发布时间】:2010-10-04 22:08:24
【问题描述】:

我显然遗漏了一些琐碎的事情,但我似乎无法从 System.Dynamic 导入;即:

导入 clr
clr.AddReference('System.Dynamic')

这清楚地增加了显着的参考:

clr.References[2]
()

但导入失败

导入 System.Dynamic

结果:

回溯(最近一次通话最后一次):
文件“”,第 1 行,在
ImportError: 没有名为 Dynamic 的模块

我缺少什么基本的东西?

【问题讨论】:

    标签: ironpython


    【解决方案1】:

    .NET 4.0 中的 System.Dynamic 程序集实际上不包括公共表面区域。它只有一堆对用于 COM 互操作的 C# 运行时程序集可见的内部类型。将这一切全部内部化的决定是在产品周期的后期做出的,以至于组件仍然存在。

    您可能想要 Microsoft.Dynamic 代替它包含 System.Dynamic 中功能的超集。 Microsoft.Dynamic 随附 IronPython。

    【讨论】:

    • 与 Microsoft.Dynamic 完全相同的行为。
    • 在向 Microsoft.Dynamic 添加引用后,您将无法导入“System.Dynamic”命名空间。相反,您需要导入在该程序集中定义的命名空间,例如 Microsoft.Scripting。
    • 查看可用的命名空间的一种有用方法是:x = clr.LoadAssemblyByName('Microsoft.Dynamic') dir(x) 这将让您检查程序集中的命名空间(对不起格式,输入是出于某种原因提交编辑而不是插入新行)
    猜你喜欢
    • 2020-09-20
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 2013-09-24
    相关资源
    最近更新 更多