2016-09-15 174 views
1

我有一個MVC5的Web應用程序,我通常使用我的筆記本電腦開發。爲什麼我收到「無法加載指定的元數據資源」錯誤?

我試圖讓應用程序在主場以家庭爲工作日我的主要機器上運行,但有連接到本地開發數據庫SQL Server上的一個問題 - 當我啓動應用程序,我得到以下錯誤:

更多信息30/11/16:

注意,該模型是從EDML使用實體開發

Unable to load the specified metadata resource. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

解決方案包括2個項目,w的一種產生這是一個由EDMX生成的實體模型項目。

注:在我的主機(如果它不工作)在Web.config連接字符串是一樣的地方工作,除了Data Source這是指SQL Server名稱的主要機器對機器 - 我已經檢查了這是正確的幾次:

我已看過一些堆棧溢出的職位有類似的問題 - 最點到一些錯誤的路徑csdlssdl,連接字符串的msl一部分。

我:

  • 經過服務器名稱是經過數據庫名稱連接字符串
  • 在正確的是經過數據庫中存在連接字符串
  • 在正確的和可
  • 經過這三個文件中的每一個都是連接字符串所表示的位置(它們是)
  • 在連接字符串中使用通配符嘗試:res://*/dllname.csdl|res://*/dllname.ssdl|res://*/dllname.msl

更新30/11/2016:

從建議中this link我:

  • 經過的MetadataArtifactProcessing屬性 - 它沒有被設置爲Copy to Output directory
  • 檢查連接字符串
  • 我們沒有後期編譯任務

this link的建議,我已經嘗試設置連接字符串connectionString="metadata=res://*/;

堆棧跟蹤:

[MetadataException: Unable to load the specified metadata resource.] 
    System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderResource.LoadResource() +85 
    System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderResource.CreateReader() +10 
    System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderResource.CreateReaders(DataSpace spaceToGet) +72 
    System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderComposite.CreateReaders(DataSpace spaceToGet) +99 
    System.Data.Entity.Core.Metadata.Edm.MetadataCache.LoadEdmItemCollection(MetadataArtifactLoader loader) +41 
    System.Data.Entity.Core.Metadata.Edm.<>c__DisplayClass5.<GetMetadataWorkspace>b__0(String k) +37 
    System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72 
    System.Data.Entity.Core.Metadata.Edm.MetadataCache.GetMetadataWorkspace(String cacheKey, MetadataArtifactLoader artifactLoader) +75 
    System.Data.Entity.Core.Metadata.Edm.MetadataCache.GetMetadataWorkspace(DbConnectionOptions effectiveConnectionOptions) +126 
    System.Data.Entity.Core.EntityClient.EntityConnection.GetMetadataWorkspace() +43 
    System.Data.Entity.Core.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection() +20 
    System.Data.Entity.Core.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor, ObjectQueryExecutionPlanFactory objectQueryExecutionPlanFactory, Translator translator, ColumnMapFactory columnMapFactory) +393 
    System.Data.Entity.Core.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +35 
    App.Models.Entities..ctor() in C:\Users\Me\Desktop\App\App.MVC5\App.Entities.cs:37 
    App.MVC5.Models.CurrentUser..ctor(Boolean IsGuiDetailsRequired) in C:\Users\Me\Desktop\App\App.MVC5\Models\AccountModels.cs:87 
    App.MVC5.Controllers.HomeController..ctor() in C:\Users\Me\Desktop\App\App.MVC5\Controllers\HomeController.cs:11 

[TargetInvocationException: Exception has been thrown by the target of an invocation.] 
    System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0 
    System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +114 
    System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232 
    System.Activator.CreateInstance(Type type, Boolean nonPublic) +83 
    System.Activator.CreateInstance(Type type) +11 
    System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +55 

[InvalidOperationException: An error occurred when trying to create a controller of type 'App.MVC5.Controllers.HomeController'. Make sure that the controller has a parameterless public constructor.] 
    System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +178 
    System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +76 
    System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +88 
    Castle.Proxies.Invocations.IControllerFactory_CreateController.InvokeMethodOnTarget() +118 
    Castle.DynamicProxy.AbstractInvocation.Proceed() +80 
    Glimpse.Core.Extensibility.CastleInvocationToAlternateMethodContextAdapter.Proceed() +11 
    Glimpse.Core.Extensions.AlternateMethodContextExtensions.TryProceedWithTimer(IAlternateMethodContext context, TimerResult& timerResult) +41 
    Glimpse.Core.Extensibility.AlternateMethod.NewImplementation(IAlternateMethodContext context) +25 
    Glimpse.Core.Extensibility.AlternateTypeToCastleInterceptorAdapter.Intercept(IInvocation invocation) +84 
    Castle.DynamicProxy.AbstractInvocation.Proceed() +108 
    Castle.Proxies.IControllerFactoryProxy.CreateController(RequestContext requestContext, String controllerName) +214 
    System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +194 
    System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +50 
    System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48 
    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +103 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 
+1

數據庫是本地的嗎?你在兩臺機器上安裝了相同版本的SQL嗎? –

+0

@ChrisCurtis感謝您的回覆。是的,我正在嘗試運行本地開發數據庫。我在運行應用程序的計算機上安裝了'SQL Server Developer'並在它不會安裝的應用程序上運行'SQL Server Express' - 現在將Developer安裝到此計算機上並將報告回去。 –

+0

@ChrisCurtis我已安裝'SQL Server Developer',但我得到同樣的錯誤 - 任何想法? –

回答

1

有一個非常流行的問題over there和其評級我可以假設它幫助了很多的人。它甚至提到了一個完整的解決這個問題的博客文章。另外,this answer看起來像你還沒有嘗試過的東西。

相關問題