Почему я получаю эту ошибку .NET - «Ошибка типа: ожидаемый список [DataPoint], полученный список [DataPoint]» - PullRequest
0 голосов
/ 04 января 2011

Я произвел рефакторинг некоторого кода, и теперь я получаю эту ошибку при вызове функции. Но все вроде бы хорошо, я даже сравнил 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]

Ответы [ 2 ]

3 голосов
/ 04 января 2011

После дальнейшей отладки мне удалось получить другое сообщение об ошибке из кода: Unable to cast object of type 'List[DataPoint]' to 'List[DataPoint]'

В результате поиска была найдена пара статей, объясняющих проблему:
http://www.infinitec.de/post/2008/05/InvalidCastException-Unable-to-cast-object-of-Type-X-to-X.aspx
http://geekswithblogs.net/rupreet/archive/2010/02/16/137988.aspx

Оказывается, сборка, содержащая DataPoint (из List[DataPoint]), загружается дважды в моем приложении из двух разных мест.Причина в моем случае заключается в том, что когда Visual Studio собирает сборку, она также копирует все остальные ссылочные сборки рядом с недавно созданной в папке bin.Но я также динамически загружаю одну из упомянутых сборок из исходного местоположения сборки.

0 голосов
/ 04 января 2011

Может быть проблема с разрешением типа ... используйте полное имя типа (включая пространство имен).Некоторый пример кода может помочь!

...