【问题标题】:System.TypeLoadException in C#C# 中的 System.TypeLoadException
【发布时间】:2015-04-23 01:15:40
【问题描述】:

我有一个 C# 应用程序,我修改它以使用以下行显示一个新窗口:

private void button1_Click(object sender, EventArgs e)
{
   WelcomeScreen channelBar = new WelcomeScreen(true, "http://www.trade-ideas.com/cms_static/ChannelBar/channelbar.html");
}

它编译得很好,但是当我运行应用程序并单击按钮时,我得到了这个错误:

WindowsFormsApplication1.exe 中出现“System.TypeLoadException”类型的未处理异常

附加信息:无法从程序集“TIProData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”加载类型“TradeIdeas.TIProData.OddsMakerColumnConfiguration”。

没有任何意义的是 WelcomeScreen 来自 TIProGUI.dll 而不是 TIProData。我在项目中包含了两个 dll 以及第三个 dll:

using TradeIdeas.TIProData;
using TradeIdeas.TIProGUI;
using TradeIdeas.TIProData.Configuration;

另外,当我最初运行项目时,我看到一条非常奇怪的消息。它说:

Loading symbols from TIProData.dll from:
\\MissionControl\Users\KLewis2\Documents\CVSRoot\C_Sharp\TIProData\Obj\Release

不用说,我的机器上没有路径。

非常感谢任何有关导致此问题的线索。

【问题讨论】:

标签: c# exception


【解决方案1】:

有很多原因,其中一个常见的原因是静态初始化程序中的异常。

诊断 - 调试程序,异常设置为“抛出时中断”并禁用“仅我的代码”。当发生异常时,请注意调用堆栈并检查静态初始化程序抛出的所有异常。

选项的位置:

  • 工具-> 选项-> 调试-> 仅我的代码(取消选中)
  • 调试 -> 异常 -> 公共语言运行时异常(勾选“抛出”)

会导致该错误的示例代码:

class MyClass
{
      static int value = ReadFromConifg();

      static int  ReadFromConifg()
      {...
           throw new ConfigMissingException();
      }
}

【讨论】:

  • 谢谢。我会试试的。你能看到我上次关于从一些奇怪的网络路径加载符号的编辑吗?我可以看到项目中尝试从中加载符号的任何位置吗?
  • @user3229570 Tools->Options->Debugging->Symbols,或者对于每个在 Wiindow->Modules-> 右击模块。
猜你喜欢
  • 2020-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多