2010-10-26 103 views
2

我剛剛部署了使用EF 4我的ASP.NET MVC 2應用程序,我收到以下錯誤:EF4錯誤:無法加載指定的元數據資源

Unable to load the specified metadata resource. 

在我的本地機器上運行良好與沒有錯誤。當我部署到服務器時,現在只會出現此錯誤。我在MyProject.EntityModel中有我的Enity數據模型文件。我使用POCO實體生成器來分離我的上下文和實體。這兩個在另一個名爲MyProject.Entities的項目中。我在兩個項目中的app.config中有連接字符串完全相同。我的MVC應用程序中的web.config中的連接字符串也是一樣的。我不確定爲什麼這會給我帶來問題?我也在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() 

任何意見,將不勝感激。

謝謝。

+1

[MetadataException:無法加載指定的元數據資源]的可能重複(http://stackoverflow.com/questions/689355/metadataexception-unable-to-load-the-specified-metadata-resource) – 2012-01-19 05:54:40

+0

注:我使用EF6時遇到同樣的問題 - 所以問題仍然存在。 – condiosluzverde 2016-06-30 18:53:06

回答

0

看看this question,問題似乎是一樣的。

+0

不能使用。我認爲安裝有問題。如果我只是從我的本地PC轉儲到服務器的整個網站,那麼它的工作原理。如果我通過安裝完成,那麼我得到錯誤。它在當地也很完美。 – 2010-10-26 13:07:12

+0

@Devart我建議你在這裏回答問題的相關部分(或者更好的是,*回答這個問題)。 – condiosluzverde 2016-06-30 18:48:34

1

我找到了解決方案,因爲我有同樣的問題。我有這個問題,因爲我的.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" /> 
相關問題