为什么会出现此错误?
Error 12 Unknown build error,
'Cannot resolve dependency to assembly 'System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'
because it has not been preloaded. When using the ReflectionOnly APIs,
dependent assemblies must be pre-loaded or loaded on demand through the
ReflectionOnlyAssemblyResolve event.' WpfApp
答案 0 :(得分:4)
此错误表示您为项目使用的库之一取决于.Net框架的System.Runtime.Serialization
程序集。
当您尝试构建项目时,它会解析尝试加载库程序集的XAML部分(使用反射),但尚未加载.Net依赖项(请参阅this answer )。
解决此问题的最简单方法是将System.Runtime.Serialization
程序集直接添加到您的wpf项目引用中。
答案 1 :(得分:2)
几乎就是这么说的。
看起来你正在尝试反序列化一个对象,但是尚未加载该对象的一个依赖对象依赖的DLL。
我在asp.net应用程序中使用依赖注入有一个类似的问题,解决方案是显式加载我的bin目录中的所有DLL。在我的例子中,我使用System.IO类来获取目录中的文件列表,然后显式加载每个DLL。
有关如何加载DLL Loading DLLs at runtime in C#
的信息,请参阅此问题