我首先使用 EF 代码来创建数据库。在开发中效果很好。我将它复制到 Windows Server 2003 框中,我收到这些错误(如下所列)
EF 5,.NET 4.0。
我已经卸载并重新安装了 .net 4 框架。以及在其他机器上测试。
在我的 Windows Server 2008 机器上,它运行良好。在另一个 2003 年的盒子上它没有。
为了将 MVC 排除在外,我构建了一个简单的控制台应用程序,列出了数据库中的一些数据。- 那里同样的错误。
我在 VS 2012 中编写了所有内容,并在机器上安装了 .net 4.5。我读到这可能会导致问题,因此我在 VS 2010 中针对 .net 4 重新编写了所有内容,并手动添加了对 EF 5/.net4 dll 的引用。同样的事情,在我的 2 台开发机器和 2008 服务器上运行良好,但不是 2003。
错误:
Schema specified is not valid. Errors:
(0,0) : warning 0005: Could not find schema information for the attribute 'Namespace'.
(0,0) : warning 0005: Could not find schema information for the attribute 'Provider'.
(0,0) : warning 0005: Could not find schema information for the attribute 'ProviderManifestToken'.
(0,0) : warning 0005: Could not find schema information for the attribute 'Alias'.
(0,0) : error 0010: The element Schema in namespace http://schemas.microsoft.com/ado/2009/11/edm/ssdl was unexpected for the root element. The expected Schema in one of the following namespaces: http://schemas.microsoft.com/ado/2006/04/edm/ssdl, http://schemas.microsoft.com/ado/2009/02/edm/ssdl.
这是堆栈跟踪(这是一个 MVC 应用程序)
[MetadataException:指定的架构无效。错误: (0,0):警告 0005:找不到属性“命名空间”的架构信息。 (0,0):警告 0005:找不到属性“提供者”的架构信息。 (0,0):警告 0005:找不到属性“ProviderManifestToken”的架构信息。 (0,0):警告 0005:找不到属性“别名”的架构信息。 (0,0):错误 0010:命名空间 http://schemas.microsoft.com/ado/2009/11/edm/ssdl 中的元素架构对于根元素来说是意外的。以下命名空间之一中的预期架构:http://schemas.microsoft.com/ado/2006/04/edm/ssdl、http://schemas.microsoft.com/ado/2009/02/edm/ssdl。 ] System.Data.Metadata.Edm.Loader.ThrowOnNonWarningErrors() +8508793 System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable`1 xmlReaders,IEnumerable`1 sourceFilePaths)+181 System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerManifestToken, Memoizer`2& cachedCTypeFunction) +211 System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders)+295 System.Data.Entity.Migrations.Extensions.XDocumentExtensions.GetStoreItemCollection(XDocument 模型,DbProviderInfo&providerInfo)+180 System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Diff(XDocument sourceModel, XDocument targetModel, String connectionString) +48 System.Data.Entity.Internal.InternalContext.ModelMatches(XDocument 模型)+45 System.Data.Entity.Internal.ModelCompatibilityChecker.CompatibleWithModel(InternalContext internalContext, ModelHashCalculator modelHashCalculator, Boolean throwIfNoMetadata) +65 System.Data.Entity.Internal.InternalContext.CompatibleWithModel(布尔 throwIfNoMetadata)+52 System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext 上下文)+239 System.Data.Entity.Internal.c__DisplayClass8.b__6() +19 System.Data.Entity.Internal.InternalContext.PerformInitializationAction(动作动作)+72 [DataException:初始化数据库时发生异常。有关详细信息,请参阅 InnerException。] System.Data.Entity.Internal.InternalContext.PerformInitializationAction(动作动作)+117 System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +186 System.Data.Entity.Internal.LazyInternalContext.b__4(InternalContext c) +7 System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput 输入) +118 System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +190 System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +73 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +28 System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +56 System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator() +15 System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() +40 System.Collections.Generic.List`1..ctor(IEnumerable`1 集合)+315 System.Linq.Enumerable.ToList(IEnumerable`1 源) +58 C:\Dev\hbkiosk\Kiosk\Controllers\KioskEventController.cs:23 中的 Kiosk.Controllers.KioskEventController.Index() lambda_method(闭包,ControllerBase,对象[])+62 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器,Object[] 参数)+17 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 参数) +188 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 参数) +27 System.Web.Mvc.Async.c__DisplayClass42.b__41() +28 System.Web.Mvc.Async.c__DisplayClass8`1.b__7(IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.c__DisplayClass39.b__33() +59 System.Web.Mvc.Async.c__DisplayClass4f.b__49() +240 System.Web.Mvc.Async.c__DisplayClass37.b__36(IAsyncResult asyncResult) +12 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +31 System.Web.Mvc.Async.c__DisplayClass2a.b__20() +23 System.Web.Mvc.Async.c__DisplayClass25.b__22(IAsyncResult asyncResult) +128 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +26 System.Web.Mvc.c__DisplayClass1d.b__18(IAsyncResult asyncResult) +14 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +25 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +41 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +25 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +28 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.c__DisplayClass8.b__3(IAsyncResult asyncResult) +28 System.Web.Mvc.Async.c__DisplayClass4.b__3(IAsyncResult ar) +25 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +30 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8836913 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184