2012-03-21 50 views
1

我在使用EntityDataSource和.NET Framework June CTP的服務器上安裝Web應用程序時遇到問題。 我貼在MSDN論壇的問題,但仍然沒有答案: EF with POCO templates and DbContext throws MetadataException when installed on server使用EntityDataSource的實體框架在安裝在Windows 2008服務器上時拋出MetadataException

與IIS 7在Windows安裝應用程序時2008服務器,並在組合使用EntityDataSource與六月CTP框架時,以下的例外是扔我們需要使用POCO和DbContext。

System.Web.HttpUnhandledException(0X80004005):類型 'System.Web.HttpUnhandledException' 引發的異常。 ---> System.Data.MetadataException:指定的模式無效。錯誤: Library.csdl(2,9):警告0005:找不到名稱空間屬性的模式信息 。 Library.csdl(2,34):警告0005: 無法找到屬性「別名」的模式信息。 Library.csdl(2,2):錯誤0010:命名空間 http://schemas.microsoft.com/ado/2009/11/edm中的元素模式對於 根元素而言是意外的。預期的Schema位於以下命名空間之一中: http://schemas.microsoft.com/ado/2006/04/edm, http://schemas.microsoft.com/ado/2007/05/edm, http://schemas.microsoft.com/ado/2008/09/edm。在 System.Data.Metadata.Edm.EdmItemCollection.LoadItems(IEnumerable的1 xmlReaders, IEnumerable 1 sourceFilePaths,SchemaDataModelOption dataModelOption,DbProviderManifest providerManifest,ItemCollection itemCollection,布爾throwOnError)

當我們創建無六月CTP框架的測試項目這是工作。當我們不使用6月CTP框架中的EntityDataSource時,它也可以工作。我們用這個EntityDataSource開發了幾個月,所以改變代碼和使用別的東西並不容易。

+1

六月CTP已經死了。不要使用它。 6月份CTP的所有功能現在都是.NET 4.5 Beta和Entity Framework 5.0 Beta的一部分。 – 2012-03-21 08:50:30

回答

2

你的服務器似乎具有.NET 3.5 SP 1,並且CTP需要.NET 4.在錯誤消息(2006-8)的是圖式EF 10 2009/11/EDM是EF 4.

+0

問題解決!重新安裝June CTP解決了這個問題。我認爲EFTools.msi安裝不正確或根本沒有安裝。謝謝! – 2012-03-22 08:51:23

+1

按照Ladislav的評論。沒有理由使用6月份的CTP。 .NET Framework 4.5 Beta包含了CTP中包含的所有內容以及相當多的錯誤修復 - 特別是對於新功能。此外,.NET Framework 4.5具有「上線」版本,與6月份的CTP不同,後者的許可證不允許在生產環境中使用CTP。 .NET Framework 4.5也是完全支持的版本。 – Pawel 2012-03-28 04:36:55

+0

我將嘗試卸載June CTP並安裝並使用4.5版本。對於我們的演示6月CTP正在工作,爲釋放我將使用框架4.5。感謝您的解釋。 – 2012-04-03 09:39:29

相關問題