1

У меня есть веб-приложение MVC5, которое я обычно разрабатываю с помощью своего ноутбука.Почему я получаю сообщение об ошибке «Не удалось загрузить указанный ресурс метаданных»?

Я пытаюсь получить приложение работает на моей основной машине дома для домашних рабочих дней, но есть проблемы с подключением к локальной базе данных Дев на SQL Server - когда я запустить приложение, я получаю следующее сообщение об ошибке:

Подробнее 30/11/16:

Обратите внимание, что модель формируется из EDML с помощью Entity Developer

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-х проектов, один из ш hich - проект модели сущности, который генерируется из EDMX.

Примечание: На моей основной машине (где он не работает) строка подключения в Web.config так же, как машины, на которой он работает для Data Source, который ссылается на имя сервера SQL на главной машине, кроме - я проверили это исправить несколько раз:

Я прочитал несколько Stack сообщения переполнения с подобными вопросами - самая точка на что-то не так с пути к csdl, ssdl, msl части строки соединения.

у меня есть:

  • Проверено имя сервера правильно в строке соединения
  • Проверено имя базы данных корректна в строке соединения
  • Checked база данных существует и доступен
  • Проверено каждый из трех файлов, где строка подключения говорит, что они (они есть)
  • Пробовал использовать подстановочный знак в строке подключения: res://*/dllname.csdl|res://*/dllname.ssdl|res://*/dllname.msl

Update 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» на компьютере, на котором запущены приложения, и 'SQL Server Express' на тот, на котором он не будет, - теперь установка разработчика на этот компьютер теперь будет отчитываться ... –

+0

@ChrisCurtis Я установил «Разработчик SQL Server», но я получаю ту же ошибку - любые идеи? –

ответ

1

Там очень популярный вопрос over there и от его рейтинга, я могу предположить, что это помогло много людей. Он даже упоминает сообщение в блоге с полным устранением неполадок для этой проблемы.Кроме того, this answer выглядит как-то, что вы еще не пробовали.

Смежные вопросы