我有一个Windows桌面应用程序使用EF4(我知道它已经老了)作为ORM连接到数据库,当我打电话给#34; Any"时,我在Windows 10上遇到了一个奇怪的问题。对于数据库中的一个对象类型。以下是例外情况:
例外信息:
System.TypeInitializationException Stack:at System.Data.Objects.ObjectQuery
1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResults(System.Nullable
1) 在System.Data.Objects.ObjectQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Data.Entity.Internal.Linq.InternalQuery
1 [[System .__ Canon, mscorlib,版本= 4.0.0.0,文化=中性, PublicKeyToken = b77a5c561934e089]]。GetEnumerator()at System.Data.Entity.Infrastructure.DbQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].System.Collections.Generic.IEnumerable<TResult>.GetEnumerator() at System.Linq.Enumerable.Any[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable
1) 在 Bootstrapper.LoginModel.HasUserAcceptedTraining(Int32)已
我在不同的Windows上以及其他Windows 10计算机上尝试了完全相同的应用程序,但它没有发生。我尝试过以下方法:
我不知道我还能做些什么才能找到问题?有人在Windows 10上遇到过这样的问题吗?有什么想法?
更新: 我已经将异常处理添加到应用程序中,现在这是我在运行应用程序后得到的异常:
[2015-09-08 13:21:07.8404] [错误] - 方法MainForm_Load中发生异常 - 详细信息:&#39; ProxyTypeBuilder&#39;的类型初始值设定项在System.Data.Objects.Internal.EntityProxyFactory.ProxyTypeBuilder.MarkAsNotSerializable(FieldBuilder字段)中抛出异常。
在System.Data.Objects.Internal.EntityProxyFactory.ProxyTypeBuilder.RegisterInstanceField(FieldBuilder字段,布尔可序列化)
在System.Data.Objects.Internal.LazyLoadImplementor.Implement(TypeBuilder typeBuilder,Action 2 registerField)
at System.Data.Objects.Internal.EntityProxyFactory.ProxyTypeBuilder.get_TypeBuilder()
at System.Data.Objects.Internal.EntityProxyFactory.ProxyTypeBuilder.CreateType(ModuleBuilder moduleBuilder)
at System.Data.Objects.Internal.EntityProxyFactory.BuildType(ModuleBuilder moduleBuilder, ClrEntityType ospaceEntityType)
at System.Data.Objects.Internal.EntityProxyFactory.TryCreateProxyType(EntityType ospaceEntityType)
at System.Data.Objects.Internal.EntityProxyFactory.GetProxyType(ClrEntityType ospaceEntityType)
at System.Data.Common.Internal.Materialization.Translator.Visit(EntityColumnMap columnMap, TranslatorArg arg)
at System.Data.Query.InternalTrees.EntityColumnMap.Accept[TResultType,TArgType](ColumnMapVisitorWithResults
2 visitor,TArgType arg)
在System.Data.Common.Internal.Materialization.Translator.ProcessCollectionColumnMap(CollectionColumnMap columnMap,TranslatorArg arg,ColumnMap discriminatorColumnMap,Object discriminatorValue)
在System.Data.Common.Internal.Materialization.Translator.Visit(SimpleCollectionColumnMap columnMap,TranslatorArg arg)
at System.Data.Query.InternalTrees.SimpleCollectionColumnMap.Accept [TResultType,TArgType](ColumnMapVisitorWithResults 2 visitor, TArgType arg)
at System.Data.Common.Internal.Materialization.Translator.TranslateColumnMap[TRequestedType](QueryCacheManager queryCacheManager, ColumnMap columnMap, MetadataWorkspace workspace, SpanIndex spanIndex, MergeOption mergeOption, Boolean valueLayer)
at System.Data.Common.Internal.Materialization.ShaperFactory.TypedShaperFactoryCreator
1.TypedCreate(QueryCacheManager cacheManager,ColumnMap columnMap,MetadataWorkspace metadata,SpanIndex spanInfo,MergeOption mergeOption,Boolean valueLayer)
在System.Data.Common.Internal.Materialization.ShaperFactory.Create(类型elementType,QueryCacheManager cacheManager,ColumnMap columnMap,MetadataWorkspace元数据,SpanIndex spanInfo,MergeOption mergeOption,Boolean valueLayer)
在System.Data.Objects.Internal.ObjectQueryExecutionPlan.Prepare(ObjectContext context,DbQueryCommandTree tree,Type elementType,MergeOption mergeOption,Span span,ReadOnlyCollection 1 compiledQueryParameters, AliasGenerator aliasGenerator)
at System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable
1 forMergeOption)
在System.Data.Objects.ObjectQuery 1.GetResults(Nullable
1 forMergeOption)
在System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Data.Entity.Internal.Linq.InternalQuery
1.GetEnumerator()
在System.Data.Entity.Infrastructure.DbQuery 1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
at System.Linq.Enumerable.Any[TSource](IEnumerable
1来源)
在HasUserAcceptedTraining(Int32 userID)
答案 0 :(得分:0)
我无法解决问题所以我所做的就是重新安装了Windows,现在它运行正常!