为什么.NET试图加载一个不存在的程序集?

时间:2013-12-18 18:22:27

标签: .net vb.net c#-4.0

尝试在引用的程序集中执行函数时,我遇到了这个奇怪的错误。我有程序集的源代码,并且没有名为“XmlSerializers”的命名空间,所以我无法理解为什么它试图加载'Netaccounts.Ola.RestClient.XmlSerializers'

有人可以建议从哪里开始解决这个问题吗?我认为.Net框架或视觉工作室出了问题,因为这对我来说毫无意义。

它发生在这一行

XmlSerializer serializer = new XmlSerializer(type);

但XmlSerializer来自System.Xml.Serialization。我甚至重写代码,但没有效果。我得到了同样的错误。

System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);

干杯!

BindingFailure occurred
Message: Managed Debugging Assistant 'BindingFailure' has detected a problem in 'D:\Local Dev Projects\Projects\WRJ Studio\WRE Quote Builder\bin\Debug\WRJ Studio.vshost.exe'.
Additional information: The assembly with display name 'Netaccounts.Ola.RestClient.XmlSerializers' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'Netaccounts.Ola.RestClient.XmlSerializers, Version=1.0.5101.5654, Culture=neutral, PublicKeyToken=1809573d4ad081b2' or one of its dependencies. The system cannot find the file specified.

2 个答案:

答案 0 :(得分:4)

这是一个完全正常的警告,如this answer中所述。这不是一个例外。

你几乎肯定在Debug + Exceptions对话框中犯了一个错误。您不小心点击了Managed Debugging Assistants的“投掷”复选框,实际上将它们全部打开。打开节点并取消勾选“BindingFailure”警告。如果您看到它们全部勾选,则单击“全部重置”按钮将所有内容恢复原状。

答案 1 :(得分:0)

你引用的一个程序集......可能(在内部,对你隐藏)......你看到的这个程序集。

获取ILSpy并检查您的任何第三方参考。它会告诉你第三方程序集引用了什么。