问题标签 [typeloadexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
310 浏览

c# - 导入 ddl,编译但在应用程序中调用时会生成 System.TypeLoadException 异常

我正在尝试导入一个使用 System.Collections.Generic.List (Iserialization) 的 dll,但是每当调用该类时,我都会收到以下异常,在过去 4 小时的试用错误后我无法正常工作:

我正在使用 MonoDevelop 4.0.1 和 Unity 4.3.3。

有什么建议么?问题类非常简单。它只有一堆浮点数、字符串、整数、一个字典和一个列表。它在保存对象时使用 Iserialization 并与 ISerializable 接口。该列表是另一个类的列表,它也是可序列化的。

0 投票
1 回答
7567 浏览

c# - System.TypeLoadException:无法从程序集“x”加载类型“x”?

我只想对信息过载表示歉意,我只想提供任何可能相关的信息,我不确定发生了什么

测试方法 DCIM_Test_1.MySQLDefTest.ConnectionStringTest 抛出异常:System.TypeLoadException:无法从程序集“DCIM,版本=1.0.0.0,文化=中性,PublicKeyToken=null”加载类型“DCIM_With_Test.Database.Database_MySQLDef”。

当我运行我的一项测试时,我遇到了这个错误,我相信它来自我最近重新命名我的解决方案和项目的方式。

我将它们全部从“DCIM_With_Test”重命名为“DCIM”,(更改了目录、文件名等),但它仍然会导致不一致。

另一个原因可能是导致问题的方法的运行方式。我已经将方法从从文本文件读取更改为从文件读取app.config,我对这个过程和 XML 不熟悉,所以我可能会在某处遗漏一步。

这是我的 app.config:

我还收到关于 app.config 的三条消息:

  1. 找不到元素“supportedRuntime”的架构信息。
  2. 找不到属性“版本”的架构信息。
  3. 找不到属性“sku”的架构信息。

这是正在测试的方法注意:旧方法运行良好,但测试仍然抛出异常,但新方法根本不起作用。

这是测试:

0 投票
1 回答
556 浏览

c# - Unity TypeLoadException 中的 IKVMC dll

我想从 JAR 创建一个 DLL 以在 Unity 中使用。我使用 JavaSE-1.7 创建了一个 jar 文件,然后我使用 ikvmc v7.2.4630.5 从它创建了 dll 当我在新的 C# Windows 应用程序中使用这个 dll 时,它可以正常工作,没有任何异常或错误,但是当我在即使我收到以下 TypeLoadException,Unity 它也可以工作:

但是,尽管这可行,但由于此异常,Unity 不会导出或构建我的项目。我怎样才能解决这个问题?

编辑:好的,我可以让它工作的唯一方法是,如果我使用 JRE 1.5 和旧版本的 IKVM(如 0.28)并不能解决我的问题,因为 JRE 1.5 中不支持 JRE 1.7 中的某些功能

0 投票
1 回答
1422 浏览

c# - Windows 商店应用程序中的 TypeLoadException

我在 Windows 商店应用程序中使用 Winmd(Windows 运行时组件)。当我尝试实例化在 winmd 中定义的类型时,出现以下异常:

我添加了我需要的所有引用,并在 Manifest 文件中进行了适当的更改。我错过了什么?任何人都知道是什么原因造成的?

0 投票
0 回答
86 浏览

c# - 有没有办法确定导致加载类型的代码行?

问题是我经常得到一个 TypeLoadReflectionException 并且我找到它们原因的能力非常有限,实际上基本上为零。今天我又遇到了这样的问题,无法解决。出于某种原因,我的程序集需要另一个以前从未发生过的程序集,甚至将代码恢复到以前的工作状态也无法解决问题。我被难住了,这里一定有更深层次的问题。

有什么办法可以正确调试吗?理想情况下,Reflector 或 IlSpy 之类的工具能够告诉我每行的“依赖程序集”和“类型依赖项”。看看 C# 4.5 Roslyn 编译器现在是如何开源的,这在理论上应该是可行的,毕竟编译器在编译过程中的某个时刻决定“嘿,我需要这种类型来编译这些东西”。正确的?但是这些 TypeLoadExceptions 发生在运行时,所以我不确定。

0 投票
1 回答
465 浏览

c# - 实现类似 [DllImport] 的机制

这是我的问题:在 PCL 库中,我将从 C++ DLL 调用非托管代码。该 DLL 有两个版本(x86 和 x64),出于性能原因,应根据嵌入 PCL 库的平台引用正确的库。

由于该[DllImport]属性需要一个常量字符串作为库名称,因此这种非常方便的方式变得无用,因为正确的库将在运行时确定。有一些手动加载函数的“hubby”方法(和) LoadLibrary,但我会让程序员更方便。GetProcaddressGetDelegateForFunctionPointer

所以,声明一个外部函数不是问题。好吧,C# 编译器检测到外部并担心这样一个事实,即缺少[DllImport]属性,加载类型时可能无法解析外部。好的,我定义了一个属性[MyImport],并把它放在了外部声明和宾果游戏中,至少编译器很高兴。

在运行时,我当然会得到一个 TypeLoadException 因为我的外部确实没有解决。这就提出了两个问题:

1)为什么编译器对任何属性都满意?加载程序在使用该属性来解决待处理的外部问题方面是否有任何魔力?这可以通过提供一个由属性实现的接口来直接完成。这样,运行时将查找外部搜索的属性,以查找那些实现“魔术”接口的属性。

2) 如何以可以实现自己的加载器的方式捕获 TypeLoadException?该加载程序将从给定类型迭代所有外部,读取 [MyImport] 属性并以这种方式解析外部。

如果可能实现这两个想法之一,或者是否有任何其他解决方案可以解决上述问题?

我很欣赏英语课,但这实际上不是我想要的:-))

基督教。

0 投票
2 回答
907 浏览

sqlite - 当我尝试从 Windows Phone 8 获取 SQLite 连接时出现 TypeLoadException

我目前正在使用 Xamarin.Forms 开发 Windows Phone 应用程序。为此,我需要使用 SQLite 数据库才能拥有 Android 和 iOS 的跨平台应用程序。

所以我按照以下文档中描述的步骤进行操作:Working with a local database using SQLite.Net with Xamarin.Forms

问题是当我尝试使用以下代码在 Windows Phone 8 上获得 SQLite 连接时出现错误:

调用此方法会引发带有以下消息的 TypeLoadException:

我不知道为什么会出现这样的错误。如果您有任何想法,那就太好了!

提前感谢任何可以帮助我的人

0 投票
1 回答
1147 浏览

c# - 结构未正确对齐:System.TypeLoadException

我正在尝试在 C# 中创建以下结构,它是一个基于 C 的复杂结构,我尝试了大多数编组选项,但我总是得到“System.TypeLoadException”。

(附加信息:无法从程序集“WindowsFormsApplication1,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型“WindowsFormsApplication1.COMPLEX_STRUCT”,因为它包含偏移量 8 处的对象字段,该对象字段不正确地对齐或重叠-对象字段。)

关于 IPV6_ADDR 结构,我尝试了 LayoutKind.Explicit 和 LayoutKind.Sequential,并且都尝试了:

我在 x64 机器上,但 IPV6_ADDR 结构与 8 个字节对齐,所以我不知道是什么问题。

我试图模仿的原始 C 结构:

0 投票
2 回答
761 浏览

visual-studio-2013 - VS 更新结果在 System.TypeLoadException

我正在开发一个 windows phone 8.1 sdk
当我使用 vs 2013 update 3 时,代码有效,我可以运行我的演示。
但是,昨天,我将我的 vs 2013 更新为更新 4,然后
在下面抛出 System.TypeLoadException 代码详细信息:

CXMapResource类型是 c++ 编写的 windows 运行时组件类型
,它是我在代码中加载的第一个 winrt 类型
我 在此行之前设置了一个断点,它到这里,然后继续,然后崩溃,
输出:

更新于 2014 年 11 月 18 日 16:08

在此处输入图像描述

我让我的大学在 vs 2013 更新 2 中运行相同的代码,它有效,
请告诉我可能导致这个问题的原因,给我一些建议,谢谢!!


现在可以了!

VS 2013 UPDATE5 CTP2

0 投票
2 回答
2481 浏览

c# - 无法从程序集中加载类型(可执行文件)

这在 Windows 中运行良好,但是当尝试在 Mono 中运行时出现以下错误:

这有点令人生气,因为该类实际上被编译到 exe 中,而不是像在 dll 中那样分开。我看到的所有答案都是关于尝试从库中加载类型。

即使我在项目中重新创建类,也会发生同样的事情。我很困惑为什么会这样。我该如何解决这个问题?