Ошибка EF4: невозможно загрузить указанный ресурс метаданных - PullRequest
2 голосов
/ 26 октября 2010

Я только что развернул свое приложение ASP.NET MVC 2, используя EF 4, и получаю следующую ошибку:

Unable to load the specified metadata resource.

На моей локальной машине все работает без ошибок. Эта ошибка появляется только при развертывании на сервере. У меня есть файл модели данных enity в MyProject.EntityModel. Я использовал генератор сущностей POCO для разделения моего контекста и сущностей. Эти 2 находятся в другом проекте под названием MyProject.Entities. У меня есть строки подключения в app.config в 2 проектах точно так же. Строка подключения в web.config в моем приложении MVC также одинакова. Я не уверен, почему это вызывает у меня проблемы? Я также запускаю приложение в IIS (поставляется с Windows 7), и оно отлично работает. Версия IIS на сервере 6 (я думаю). Вот полное сообщение об ошибке:

InnerException
Message: Unable to load the specified metadata resource.
Source: System.Data.Entity
StackTrace: at System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.LoadResources(String assemblyName, String resourceName, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
at System.Data.Metadata.Edm.MetadataArtifactLoaderCompositeResource.CreateResourceLoader(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
at System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
at System.Data.Metadata.Edm.MetadataCache.SplitPaths(String paths)
at System.Data.Common.Utils.Memoizer`2.<>c__DisplayClass2.<Evaluate>b__0()
at System.Data.Common.Utils.Memoizer`2.Result.GetValue()
at System.Data.Common.Utils.Memoizer`2.Evaluate(TArg arg)
at System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections)
at System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection()
at System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor)
at MyProject.HolsboerBFGA.Entities.HolsboerBFGAEntities..ctor()
at MyProject.HolsboerBFGA.WebMVC2.Controllers.HomeController..ctor()

Любой совет будет оценен.

Спасибо.

Ответы [ 2 ]

1 голос
/ 16 марта 2016

Я нашел решение, потому что у меня была такая же проблема. У меня была эта проблема, потому что я переместил свой .edmx в другую папку, и мне пришлось изменить пространство имен, чтобы при запуске проекта появлялась эта ошибка.

Я решил свою проблему, изменив строку подключения и добавив пространство имен «Модель» (имя папки) в каждое из 3 мест, где папка изменилась.

    <add name="connectionName" connectionString="metadata=res://*/Model.MyModel.csdl|res://*/Model.MyModel.ssdl|res://*/Model.MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server;initial catalog=myDataBase;user id=us;password=***;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
0 голосов
/ 26 октября 2010

Взгляните на этот вопрос , проблема, похоже, та же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...