在Windows 10上调用System.Linq.Enumerable.Any抛出异常

时间:2015-09-21 01:24:57

标签: c# .net entity-framework linq window

我有一个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.ObjectQuery 1[[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.DbQuery 1[[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计算机上尝试了完全相同的应用程序,但它没有发生。我尝试过以下方法:

  1. 检查了数据库,很好
  2. 检查.NET版本并将其与Windows 10计算机进行比较,应用程序正常运行并且它是相同的(目标版本4.0.0,版本4.6.0079,版本393295)
  3. 尝试使用融合日志查看加载任何程序集是否存在任何问题
  4. 重新安装应用程序 - 无需更改
  5. 我不知道我还能做些什么才能找到问题?有人在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)

1 个答案:

答案 0 :(得分:0)

我无法解决问题所以我所做的就是重新安装了Windows,现在它运行正常!