【问题标题】:TypeLoadException while calling C++ method in C# file在 C# 文件中调用 C++ 方法时出现 TypeLoadException
【发布时间】:2010-07-06 13:15:34
【问题描述】:

我有一个用 C# 编写的主程序,它创建和使用用 C++ 编写的对象。

其中一个对象 MODULE 使用 Behavior 类 (C++),其中包含许多参数,由 C# main 管理的接口初始化。

其中一个参数是system::Collection::Generic ,我们称之为LIST。行为对象初始化良好,LIST 包含正确的元素。

但是当我创建一个 MODULE 并在调用行调用它的方法 BuildModule(BEHAVIOR) 时,LIST 似乎已损坏。我在当地人那里得到了这个:

容量错误:发生类型异常:System::TypeLoadException^>
计数错误:发生类型异常:System::TypeLoadException^>
项目无法查看索引属性>
System.Collections.Generic.ICollection.IsReadOnly 错误:发生类型异常:System::TypeLoadException^>
System.Collections.ICollection.IsSynchronized 错误:发生类型异常:System::TypeLoadException^>
System.Collections.ICollection.SyncRoot 错误:发生类型异常:System::TypeLoadException^>
System.Collections.IList.IsFixedSize 错误:发生类型异常:System::TypeLoadException^>
System.Collections.IList.IsReadOnly 错误:类型异常:System::TypeLoadException^ 发生> System.Collections.IList.Item 无法查看索引属性>

这似乎没有加载,但我不知道 - 加载了其他对象,甚至更复杂的对象。

如果有人有线索,我将不胜感激。

【问题讨论】:

  • 请提供异常详情。
  • 语法错误,这里是
  • 看起来您缺少对 System.Collections 的引用,您可以发布来自 FuslogVW 的加载日志吗?

标签: c# c++ visual-studio typeloadexception


【解决方案1】:

您正在显示调试器在尝试显示列表实例时遇到的异常。它不会帮助您或我们诊断问题,您需要查看代码生成的异常。如果这没有帮助,请发布您在异常的消息和堆栈跟踪属性中看到的内容。 InnerException 是最重要的,以防它不为空。

这种事故通常是由堆损坏引起的。

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多