问题标签 [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 投票
2 回答
673 浏览

.net - 在构建服务器上运行 T4 模板时 System.Xml.Linq.XDocument 上的 TypeLoadException

我在构建服务器上使用 TextTransform.exe 运行 T4 模板时遇到问题。在我的开发机器上,模板完美运行。错误信息如下。

错误:运行转换:System.TypeLoadException:无法实例化类型 System.Xml.Linq.XDocument

构建服务器上有 Windows 2008 SDK,我的机器有 VS 2008。我认为它可能找不到 System.Data.Xml,所以我确保 dll 存在于同一目录中,但没有运气。有任何想法吗?

0 投票
1 回答
4120 浏览

c# - 未调用重写的虚函数

我的项目中有一个奇怪的问题。我有一个从基类继承的类(它又从另一个基类继承)并覆盖了一个函数。但是,当调用该函数时,它永远不会调用被覆盖的函数,而是调用基函数。

但是,当我在中间类中覆盖该函数时,它会被调用。但这很令人困惑:让我们用一张图来解释:)

  • lib GuiShared

    • b级屏幕
      • 虚函数 InitializeRoc
  • 库 TigerControlRoot

    • bTigerScreen 类
      • 覆盖函数 InitializeRoc <-- 当在这里被覆盖时,它被调用
  • lib TigerControlRootCommonScreens
    • 类 CheckInRules
      • 覆盖函数 InitializeRoc <-- 未调用:s

然而,构造函数被调用......

这是我的(简化的)代码:

共享基类

项目基类

失败的类(或该库中的任何其他类)

如果这还不够,当我尝试调用基类上的某个函数时,我会收到 TypeLoadException。

在另一个项目中使用了具有相同 GuiShared 库的类似代码,没有问题。

0 投票
41 回答
120023 浏览

c# - TypeLoadException 说'没有实现',但它已实现

我在我们的测试机器上有一个非常奇怪的错误。错误是:

System.TypeLoadException: Method 'SetShort' in type 'DummyItem' from assembly 'ActiveViewers (...)' does not have an implementation.

我只是不明白为什么。SetShortDummyItem课堂上,我什至重新编译了一个写入事件日志的版本,以确保它不是部署/版本控制问题。奇怪的是调用代码甚至没有调用SetShort方法。

0 投票
1 回答
1025 浏览

c# - 清除 .Net 反射缓存

在对 C# 源代码进行动态编译时,如果我们碰巧尝试执行一个缺少引用的已编译目标 DLL(例如 tmp901.tmp.dll),例如:

InnerException:无法加载文件或程序集“_O2_Scanner_MsCatNet,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。

似乎存在一个问题,在该过程的持续时间内,该程序集将永远不会被解析,即使该文件被复制到正在执行目标程序集 (tmp901.tmp.dll) 的位置。似乎有一个缓存问题阻止了重新检查 dll 的存在。

当前的解决方案是重新启动主机 .NET 应用程序,这并不实用。

0 投票
1 回答
1861 浏览

.net - TypeLoadException 是如何发生的?

{System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。在 System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) 在 System.Reflection.Assembly.GetTypes() 在 NameSpace.SurrogateSelector..ctor() 在 D:\Projects\Esfand\Esfand\classname.cs:line 2661}

0 投票
1 回答
2016 浏览

c# - 为什么 Assembly.GetCustomAttributes 在使用 Silverlight 4 的构建机器上突然抛出 TypeLoadException?

不久前,我不得不展示我们 Silverlight 应用程序的当前版本。经过一番谷歌搜索后,以下代码给了我想要的结果:

这在我们的 .NET 3.5 Silverlight 3 环境中很有效。但是,我们最近升级到了 .NET 4 和 Silverlight 4。我们刚刚完成了构建机器的工作,发现此代码的单元测试抛出了以下异常:

我以前从未见过此异常,并且其中的链接无处可去。它只是在构建机器上而不是在我的开发箱上,所以我正在经历一个反复试验的过程,以查看两者之间的任何差异。

知道为什么会发生这种情况吗?

干杯,安德烈。

0 投票
1 回答
256 浏览

interface - Linqpad 貌似无法识别实现的接口

我有 ac# 项目 GenericBusinessObject 和一个使用 GenericBusinessObject 的项目 WebRole。WebRole 有一个BusinessObject Workitem,它实现了从GenericBusinessObject 中调用的接口方法IFastSearchable.IndexDocument。实际上 WorkitemBusinesObject 在 WebRole 中被声明为 GenericBusinessObject。

我从 LinqPad 引用了两个项目 dll。但 LinqPad 失败并出现异常。

TypeLoadException:Die Methode "IndexDocument" im Typ "WorkstreamPlatform_WebRole.Models.Workitem" der Assembly "WorkstreamPlatform_WebRole, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" hat keine Implementierung。

LinqPad 认为 Workitem 没有实现 IndexDocument 方法。这是错误的。

是 LinqPad 的错误还是我想错了?

在正常的项目执行中,它可以工作。

0 投票
1 回答
599 浏览

c# - 在 C# 文件中调用 C++ 方法时出现 TypeLoadException

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

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

其中一个参数是system::Collection::Generic <AnotherObject>,我们称之为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 无法查看索引属性>

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

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

0 投票
1 回答
1840 浏览

c# - TypeLoadException 未被 try/catch 捕获

我正在尝试重新创建一个TypeLoadException用于演示目的,所以我有一个可笑的愚蠢的库设置,看起来像这样:

TheLibrary版本 1 具有以下相关接口:

虽然版本 2TheLibrary的接口看起来像:

ProxyForV2有这个实现版本 2.0 的类IShrinkingThing

因此,在 中,如果有人尝试分配 a ,TestProject我希望会导致 a ,因为接口的第一个版本具有第二个版本未实现的属性。为了证明这一点,我有一个单元测试,如下所示:TypeLoadExceptionProxyForV2.ShrinkingThingImpl

这是我的问题:这个单元测试失败了。但不是由于 my Assert.Fail,正如我所期望的那样。测试输出如下所示:

测试方法 TestProject.LoadTester.ShrinkingThingBreaks 抛出异常:System.TypeLoadException:方法 'get_RemovedProperty' in type 'ProxyForV2.ShrinkingThingImpl' from assembly 'ProxyForV2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 没有实现。 .

所以 aTypeLoadException被抛出,虽然它唯一可能被抛出的地方是在一个try带有 a 的块中catch (TypeLoadException),但异常拒绝被捕获。除此之外,即使我使用包罗万象,单元测试也会失败,并出现与以前相同的错误:

到底是怎么回事?显然,这是一个完全人为的场景,但我仍然想知道发生了什么,以便可以在运行时避免这个错误,或者至少在它发生时处理(是的,我知道最终的解决方案是确保所有库版本都相同)。

最糟糕的部分是对类的任何访问,例如typeof(ProxyForV2.ConsistentThingImpl)ProxyForV2.ConsistentThingImpl.SomeStaticFunction()导致这种 un-catchable TypeLoadException,因此很明显,当 .NET 尝试加载类时,而不是来自任何分配时,问题就产生了。

我减轻这个问题的唯一想法是尝试在不同的应用程序域中加载类型,这样它就不会干扰,然后做一些疯狂的反射来查看接口是否与实现兼容,但这似乎是完整的和完全的矫枉过正。

总结:为什么似乎不可能以“正常”的方式捕捉到这个问题,我该如何在运行时解决这样的问题?

0 投票
2 回答
4283 浏览

c# - xxx 类型中的方法“生成”没有实现 - S#arp - 已更新

我一直在使用 S#arp 并更新了该Generate方法AutoPersistenceModelGenerator以使用 Fluent NHibernate 1.1。我还将其程序集名称从 MyProject.Data 更改为 MyProject.Infrastructure 我不确定是哪个导致了问题:

在 Castle Windsor 注册包含上述方法的程序集时......

...它抛出这个异常:

来自程序集“MyProject.Infrastructure,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的“MyProject.Infrastructure.NHibernateMaps.AutoPersistenceModelGenerator”类型中的方法“Generate”没有实现。

我已经彻底清理了项目并重建了它,但错误不断发生。

我不知道这是否有区别,但上面的方法实际上是直接在 Global.asax 中调用的:

我尝试删除 IOC 注册,但在此方法上引发了相同的错误:

更新

我重新创建了我的项目并再次取消了相同的过程 - 当我将 Fluent NHibernate 从 1.0 更新到 1.1 时,似乎发生了错误。任何想法为什么?