C# 为什么我会得到这个.NET错误-“;TypeError:expected List[DataPoint],Get List[DataPoint]”;

C# 为什么我会得到这个.NET错误-“;TypeError:expected List[DataPoint],Get List[DataPoint]”;,c#,.net,ironpython,dynamic-language-runtime,typeerror,C#,.net,Ironpython,Dynamic Language Runtime,Typeerror,我重构了一些代码,现在调用函数时出现了这个错误。但是一切似乎都很好,我甚至在新旧代码之间比较了failing_argument.GetType().AssemblyQualifiedName,它们是一样的。有什么想法吗 函数的调用是在IronPython代码中,函数是在C#代码中(在重构过程中没有更改的程序集) 什么样的事情会产生这种错误 编辑:完整的IronPython回溯: Traceback (most recent call last): File "D:\Work\Framewor

我重构了一些代码,现在调用函数时出现了这个错误。但是一切似乎都很好,我甚至在新旧代码之间比较了
failing_argument.GetType().AssemblyQualifiedName
,它们是一样的。有什么想法吗

函数的调用是在IronPython代码中,函数是在C#代码中(在重构过程中没有更改的程序集)

什么样的事情会产生这种错误

编辑:完整的IronPython回溯:

Traceback (most recent call last):
  File "D:\Work\Framework\python\ide\tab_manager.py", line 57, in add_chart_tab
    chart_tab = ChartTab(self.__main_window, self, tab_item, name, chart_descriptor)
  File "D:\Work\Framework\python\ide\chart_tab.py", line 64, in __init__
    self.__chart = Chart(self, self.__gui_cfg, self.__base_cfg, self.__chart_descriptor, self.__scroll_bar)
  File "D:\Work\Framework\python\ide\chart.py", line 57, in __init__
    self.update_topology(empty=False)
  File "D:\Work\Framework\python\ide\chart.py", line 93, in update_topology
    self.update_config()
  File "D:\Work\Framework\python\ide\chart.py", line 111, in update_config
    self.__global.chart_view = ChartView(self.__global)
  File "D:\Work\Framework\python\ide\chart_view.py", line 33, in __init__
    self.__spans = SpanUtil.compute_spans(time_series, gap_threshold)
TypeError: expected List[DataPoint], got List[DataPoint]

类型解析可能有问题…请使用完整的类型名(包括命名空间)。一些代码示例可能会有所帮助

在进一步调试之后,我设法从代码中获得一条不同的错误消息:
无法将“List[DataPoint]”类型的对象强制转换为“List[DataPoint]”

搜索这一点产生了几篇解释问题的文章:



事实证明,包含
数据点的程序集(来自
列表[DataPoint]
)在我的应用程序中从两个不同的位置加载了两次。在我的例子中,原因是当Visual Studio生成程序集时,它还会复制
bin
文件夹中新生成的程序集旁边的所有其他引用程序集。但我也会从引用的程序集的原始生成位置动态加载其中一个程序集。

回答这个问题会更容易,如果您发布代码,即使是准确的错误也会很好。您确定错误消息正确吗?也许其中一个参数的名称是“IList”而不是“List”,也许?我已经添加了完整的异常回溯。提取一些代码并在这里发布是很复杂的-它跨越了IronPython和C#,我甚至不确定我是否能够在一小段代码中重现这一点,因为错误确实很奇怪。我删除了我的答案,因为我没有准确地阅读问题。对不起,我只是想指出我也有同样的问题。例如,在我的项目中,我引用了
“C:\\Something\\Something\\MyDLL.dll”
,而在IronPython中,我加载了
“C:/Something/Something/MyDLL.dll”
,导致它加载同一个dll两次。如果它们不匹配,即使路径基本相同,也会导致问题!