2

Sketchflow 新手(几天),WPF 新手(几周)。

工作区详细信息:

WinXP、Visual Studio 2010 Ultimate、Expression Studio Ultimate(使用带有 SketchFlow 的 Expression Blend 4)。下载了Sketchables 0.9 版本并构建了一个发布版本(已经构建了调试版本)。

问题详情:

启动 Expression Blend 4,创建一个 WPF Sketchflow 项目。构建它(成功)。添加对Sketchables库的发布调试版本的引用(在桌面,而不是 SL 文件夹中)并尝试再次构建。构建失败并出现错误:

Unknown build error, 'Could not load file or assembly 'System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXX' or ore of its dependencies. The local assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'

现在,我看到了一些带有类似错误的问题,特别是一些问题是由于尝试在 WPF 项目中加载 Silverlight 控件而引起的。但是,我没有足够的知识知道它是否相关。凭直觉,我尝试了一个 Silverlight 项目。果然,构建 Silverlight Sketchflow 项目并添加 Sketchables 库构建干净。

所以,问题是这样的:是否有人对 Sketchables 源代码中实际导致此错误的原因有任何想法,关于如何跟踪它以便我可以处理它并为 WPF 构建干净的库?

4

2 回答 2

2

查克是对的。Sketchables.Common dll 是一个 Silverlight 类库。修复的简单方法是创建一个 Sketchables.Common.WPF 项目并使其成为常规类库。复制 SL 库项目中的类,编译,然后将 Sketchables.WPF 中的引用更改为指向 Sketchables.Common.WPF 而不是 Sketchables.Common。您的 Blend 项目现在应该构建。

更高级的方法是将两个 Common 项目共享到相同的文件,但我不会在这里讨论。搜索项目之间的共享(链接)文件,您会找到答案。

于 2011-04-01T18:01:28.483 回答
1

您已经确定了问题的原因,您尝试在 WPF 项目中引用的程序集是为 Silverlight 编译的(2.0.5.0 版本号表明它是 Silverlight)。

您可能想与控件的作者核实,看看是否有办法为 WPF 编译它。

于 2010-12-17T14:12:54.783 回答