【问题标题】:Sketchables in WPF with .NET 4, can't load System.Core version=2.0.5.0带有 .NET 4 的 WPF 中的 Sketchables,无法加载 System.Core 版本=2.0.5.0
【发布时间】:2011-04-02 02:01:28
【问题描述】:

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

工作区详情:

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

问题详情:

启动 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?

【问题讨论】:

    标签: wpf silverlight sketchflow


    【解决方案1】:

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

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

    【讨论】:

    • 这正是我所需要的。谢谢!
    【解决方案2】:

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

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

    【讨论】:

    • 我担心可能是这种情况。想也许我错过了什么。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-07-17
    • 2019-04-09
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多