C#

时间:2015-04-22 16:29:57

标签: c# exception

我有一个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

毋庸置疑,我的机器没有这条路。

任何有关造成这种情况的线索都将非常感激。

1 个答案:

答案 0 :(得分:2)

有很多原因,静态初始化器中有一个常见的例外。

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

选项的位置:

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

导致该错误的示例代码:

class MyClass
{
      static int value = ReadFromConifg();

      static int  ReadFromConifg()
      {...
           throw new ConfigMissingException();
      }
}
相关问题