【问题标题】:System.Runtime.Serialization When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loadedSystem.Runtime.Serialization 使用 ReflectionOnly API 时,必须预先加载或加载依赖程序集
【发布时间】:2014-09-27 12:21:44
【问题描述】:

为什么会出现这个错误?

 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

【问题讨论】:

标签: c# servicestack


【解决方案1】:

此错误意味着您用于项目的库之一依赖于 .Net 框架的 System.Runtime.Serialization 程序集。

当您尝试构建项目时,它会在解析尝试加载库程序集(使用反射)但 .Net 依赖项尚未加载的 XAML 部分时失败(另请参阅this answer)。

解决此问题的最简单方法是将System.Runtime.Serialization 程序集直接添加到您的 wpf 项目引用中。

【讨论】:

  • 令人惊讶的是,Gamze 的问题和 @meldim 的回答今天仍然适用。
【解决方案2】:

和上面说的差不多。

看起来您正试图反序列化一个对象,但该对象的依赖对象之一所依赖的 DLL 尚未加载。

我在 asp.net 应用程序中使用依赖注入时遇到了类似的问题,解决方案是在我的 bin 目录中显式加载所有 DLL。在我的例子中,我使用 System.IO 类来获取目录中的文件列表,然后显式加载每个 DLL。

请参阅此问题了解如何加载 DLL Loading DLLs at runtime in C#

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2019-05-05
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多