2014-09-27 26 views
1

爲什麼會出現此錯誤?System.Runtime.Serialization使用ReflectionOnly API時,相關程序集必須預加載或加載

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 
+1

你好!看看[這](http://stackoverflow.com/help/how-to-ask) – 2014-09-27 12:25:36

回答

2

它說的很多。

看起來你試圖反序列化一個對象,但對象的一個​​依賴對象依賴的DLL尚未加載。

我有一個類似的問題,在asp.net應用程序中使用依賴注入,解決方案是顯式加載我的bin目錄中的所有DLL。在我的情況下,我使用System.IO類來獲取目錄中的文件列表,然後明確加載每個DLL。

請參閱如何加載的DLL Loading DLLs at runtime in C#

+0

thnak你了:) – Gamze 2014-09-27 22:10:32

3

此錯誤意味着你正在使用爲您的項目庫中的一個取決於自身在.NET Framework的System.Runtime.Serialization裝配這個問題。

當您嘗試構建項目時,它解析試圖加載庫程序集(使用反射)但尚未加載.Net依賴項的XAML部件時也失敗(另請參閱this answer)。

解決此問題的最簡單方法是將System.Runtime.Serialization程序集直接添加到您的wpf項目引用。