2013-02-26 66 views
1

我有一個最初以.Net Framework 4.5爲目標的VS 2012 C#/ WPF解決方案。然而,當我去部署它時,我發現4.5不支持WinXP。 WinXP仍然在4.0框架的支持列表中,所以我更改了解決方案中的所有項目以定位到4.0客戶端框架。未找到方法:UseConsistentNullReferenceBehavior從Framework 4.5降級到4.0時

所有東西都會建立併發布,沒有錯誤,並且它在Win7上安裝並運行良好。但是,該應用失敗WinXP與此消息:

加載首選項和配置數據時出錯。未找到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'。

我已經在UseConsistentNullReferenceBehavior中搜索了我的解決方案,但是我無法在任何地方找到它。

有關如何解決這個問題的任何想法?我寧願不必創建新的解決方案和新項目,但這可能是我的下一步。

+1

意識到已經生成的代碼生成模板(將* .TT)文件.emdx文件下)當解決方案的目標是.Net Framework 4.5/Entity Framework 5時,我刪除了我的數據對象項目中的模型,然後在針對.Net Framework 4.0/Entity Framework 4時再次創建該模型。 不幸的是,這個新模型仍然試圖使用實體框架5,因爲它引用了System.Data.Entity.Infrastructure命名空間。 看來,一旦你在你的解決方案中的.Net Framework 4.5的目標,你不能將它退回到4.0。 – 2013-02-27 16:21:09

+0

您應該將答案寫入答案並接受答案。你在這裏的評論幫助了我!謝謝。 – 2013-08-15 08:02:37

回答

0

當解決方案針對.Net Framework 4.5/Entity Framework 5時,意識到.emdx文件下的代碼生成模板(* .tt)文件)已經生成,我刪除了我的數據對象中的模型項目,然後在面向.Net Framework 4.0/Entity Framework 4時再次創建它。不幸的是,爲這個新模型生成的代碼仍然試圖使用實體框架5,因爲它引用了System.Data.Entity.Infrastructure命名空間。

看來,一旦你在你的解決方案面向.NET框架4.5你不能背下來到4.0

相關問題