【问题标题】:Method Not Found: UseConsistentNullReferenceBehavior when downgrading from Framework 4.5 to 4.0找不到方法:从 Framework 4.5 降级到 4.0 时使用ConsistentNullReferenceBehavior
【发布时间】:2013-02-26 00:00:58
【问题描述】:

我有一个最初针对 .Net Framework 4.5 的 VS 2012 C#/WPF 解决方案。然而,当我去部署它时,我发现4.5不支持WinXP。 WinXP 仍在 4.0 框架的支持列表中,因此我将解决方案中的所有项目都更改为针对 4.0 客户端框架。

一切构建和发布都没有错误,并且在 Win7 上安装和运行良好。但是,该应用程序在 WinXP 上失败并显示以下消息:

加载首选项和配置数据时出错。找不到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'。

我已经在我的解决方案中搜索了 UseConsistentNullReferenceBehavior,但在任何地方都找不到。

关于如何解决这个问题的任何想法?我宁愿不必创建新的解决方案和新项目,但这可能是我的下一步。

【问题讨论】:

  • 当解决方案针对 .Net Framework 4.5 / Entity Framework 5 时,意识到代码生成模板(.emdx 文件下的 *.tt)文件已经生成,我删除了模型在我的数据对象项目中,然后在针对 .Net Framework 4.0 / Entity Framework 4 时再次创建它。不幸的是,为这个新模型生成的代码仍在尝试使用 Entity Framework 5,因为它引用了 System.Data.Entity .Infrastructure 命名空间。看来,一旦您在解决方案中以 .Net Framework 4.5 为目标,您就无法将其退回到 4.0。
  • 您应该在答案中写下解决方案并接受它。你在这里的评论帮助了我!谢谢。

标签: wpf .net-4.0 windows-xp .net-4.5


【解决方案1】:

意识到当解决方案针对 .Net Framework 4.5 / Entity Framework 5 时已经生成了代码生成模板(.emdx 文件下的 *.tt)文件,我在我的数据对象项目中删除了模型,然后在针对 .Net Framework 4.0 / Entity Framework 4 时再次创建它。不幸的是,为这个新模型生成的代码仍在尝试使用 Entity Framework 5,因为它引用了 System.Data.Entity.Infrastructure 命名空间。

看来,一旦您在解决方案中以 .Net Framework 4.5 为目标,您就无法将其退回到 4.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多