【发布时间】:2010-06-22 15:22:33
【问题描述】:
我有一个大而臃肿的软件,我想向它添加一个新的 GUI 元素。 GUI 元素是使用 XAML 和 WPF 编写的。我在单独的程序集中创建了 UI 元素,并在大软件中引用它。这两个项目在 VS2010 下顺利编译,但是当我运行我的应用程序时,我得到了一个TypeLoadException。
使用调试器查看异常,我收到以下消息:Could not load type GUI.Dashboard from assembly GUI, blah, blah。没有InnerException,也没有更多细节。
.GNU 文档说,当没有消息传递给异常的构造函数时,就会出现此消息。我假设异常的产生者本身并不知道它是如何发生的。
我尝试使用工具Fuslogvw.exe,它有效地向我展示了一些无关紧要的缺失依赖项。但是,它无法找到有关此异常的任何信息。
什么样的问题可能会引发像这样的不精确异常?有没有办法让 Fuslogvw.exe 知道它以获取一些详细信息?
提前谢谢你,
编辑: 我用调试符号有效地编译了我的应用程序。当我尝试实例化一个包含对有问题符号的引用的类时,就会发生异常。即:
class SomeClass
{
GUI.Dashboard dashboard;
}
调用跟踪看起来像这样:
at SomeClass..ctor()
at MainClass.Main() din MainClass.cs:line 42
【问题讨论】:
-
如果您使用调试符号编译,您应该检查异常的堆栈跟踪。它应该指出你的问题所在。
-
是的,我有异常的堆栈跟踪,但它不是很有帮助。结果我编辑了这篇文章。
-
您是否有可能存在程序集名称冲突?还是在 GAC 或某处具有相同名称的程序集的旧版本?
-
@Eric Dahlvang:终于想通了(A.exe 引用了 A.dll),并在我阅读您的评论时将其发布在这里。如果我早点阅读您的评论,将会节省很多时间。 :)