我有一个最初针对.Net Framework 4.5的VS 2012 C#/ WPF解决方案。然而,当我去部署它时,我发现4.5不支持WinXP。 WinXP仍然在4.0框架的受支持列表中,因此我更改了我的解决方案中的所有项目以定位4.0 Client框架。
所有内容都可以无错误地构建和发布,并且可以在Win7上安装并运行。但是,该应用程序在WinXP上失败并显示以下消息:
加载首选项和配置数据时出错。找不到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'。
我搜索了UseConsistentNullReferenceBehavior的解决方案,但我无法在任何地方找到它。
有关如何解决此问题的任何想法?我宁愿不必创建新的解决方案和新项目,但这可能是我的下一步。
答案 0 :(得分:0)
当解决方案针对.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