2012-05-02 3 views
0

Я обновил свой проект в EF 4.0 до EF 4.3.1. Однако, когда я создаю новый объект контекста, генерируется исключение:Культ-ошибка на платформе Entity Framework 4.3.1

Culture is not supported. 
Parameter name: name 
2.3.2 is an invalid culture identifier. 

Полная трассировки стека:

at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride) 
at System.Globalization.CultureInfo..ctor(String name) 
at System.Reflection.AssemblyName.nInit(RuntimeAssembly& assembly, Boolean forIntrospection, Boolean raiseResolveEvent) 
at System.Reflection.AssemblyName..ctor(String assemblyName) 
at System.Data.Metadata.Edm.MetadataAssemblyHelper.ComputeShouldFilterAssembly(Assembly assembly) 
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.Metadata.Edm.DefaultAssemblyResolver.<GetAlreadyLoadedNonSystemAssemblies>b__0(Assembly a) 
at System.Linq.Enumerable.WhereArrayIterator`1.MoveNext() 
at System.Data.Metadata.Edm.DefaultAssemblyResolver.GetAllDiscoverableAssemblies() 
at System.Data.Metadata.Edm.DefaultAssemblyResolver.GetWildcardAssemblies() 
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 System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) 
at Stoque.ECM.Modelo.Contexto..ctor() in D:\ECM 2.0\Stoque.ECM\Stoque.ECM.Modelo\Stoque.Modelo.Designer.cs:line 159 
at Stoque.ECM.Servico.ServicoECM.ObterUsuarioPorLogin(String login) in D:\ECM 2.0\Stoque.ECM\Stoque.ECM.Servico\Classes\Usuarios.cs:line 331 

Я не представление о проблеме ...

Я буду рад любой помощи.

Заранее спасибо

+0

Похоже, что культура одной из ваших сборок неверна. Это веб-приложение или настольное приложение? – Pawel

+0

Отлично, @Pawel! Верный! Проблема с Lucene.Net.Analyzers была проблемой. Я взял lib из проекта, и он сработал. Я предлагаю вам создать ответ, чтобы я мог его одобрить. Спасибо. –

ответ

1

Looks как культуры одного из ваших сборок неверно. По соображениям производительности по умолчанию Entity Framework отфильтровывает сборки, которые, скорее всего, не имеют таких объектов, как сборки, которые являются частью .NET Framework или сборок, поставляемых Microsoft. Entity Framework использует токен открытого ключа для фильтрации этих сборок. Чтобы получить токен открытого ключа, объект AssemblyName создается с помощью assembly.FullName. Если assembly.FullName не является допустимым именем сборки, вы увидите вышеупомянутое исключение.

+0

Спасибо, @Pawel! –

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