我有一个引用 Silverlight 4 类库的 WPF .NET 4.0 类库。
SL 库编译得很好,但是当我编译 WPF 类库时,我得到:
Error 2 Unknown build error, 'Cannot resolve dependency to assembly 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' 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.' MyProj.Presentation.Wpf
我认为问题必须与此处提到的问题相似:
http://markti.spaces.live.com/blog/cns!D92CF278F0F91957!273.entry
但我的 WPF 库不包含任何从我的 SL 库引用用户控件的 XAML。事实上,我的 SL 库中根本没有任何 XAML。但是,它确实有几个共享的 DependencyObject,例如 EventCommander(将 UI 元素事件绑定(bind)到命令)和一些 DataTemplate 帮助程序。
有什么办法可以缩小问题的范围吗?有没有人找到一种在 .NET 4.0 的 SL4 项目中有效引用 UI 元素的方法?
谢谢。
最佳答案
这
目前是不可能的。仅当 SL 项目不引用 mscorlib、System、System.Core、System.ComponentModel.Composition 和 Microsoft.VisualBasic 以外的任何程序集时,在 .NET 项目中引用 SL 程序集才有效。
添加 WPF 项目并将您的 SL 文件链接到该项目是您可以重用 SL 代码的唯一方法,如果它使用例如系统.Windows。
干杯,
亚历克斯
关于Silverlight 4 程序集共享问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2982106/