Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“错误”;无法加载文件";但我没有';别自找麻烦 更新:我重新编译了x86,现在它确实可以工作了。但我仍然需要知道这里发生了什么,以及为什么我需要将所有的.net应用程序重新编译到x86。。。我从未使用过oracle,我也不打算在将来使用它。为什么这会给我带来麻烦?_.net_Vb.net_Entity Framework - Fatal编程技术网

“错误”;无法加载文件";但我没有';别自找麻烦 更新:我重新编译了x86,现在它确实可以工作了。但我仍然需要知道这里发生了什么,以及为什么我需要将所有的.net应用程序重新编译到x86。。。我从未使用过oracle,我也不打算在将来使用它。为什么这会给我带来麻烦?

“错误”;无法加载文件";但我没有';别自找麻烦 更新:我重新编译了x86,现在它确实可以工作了。但我仍然需要知道这里发生了什么,以及为什么我需要将所有的.net应用程序重新编译到x86。。。我从未使用过oracle,我也不打算在将来使用它。为什么这会给我带来麻烦?,.net,vb.net,entity-framework,.net,Vb.net,Entity Framework,由于今天早上我无法运行所有使用entityframework-v5连接到msSqlServer的.net程序,我在下面粘贴了堆栈错误 我从网络上的另一台电脑上尝试了相同的文件,它确实工作正常。所以我怀疑是windows更新在一夜之间造成了问题,所以我做了一次系统还原,仍然是同样的问题 现在我没有主意了。。我不使用oracle,也没有任何参考资料。正如我所说,同一文件夹中的文件昨天在我的电脑上工作,今天也在网络上的其他电脑上工作 System.BadImageFormatException

由于今天早上我无法运行所有使用entityframework-v5连接到msSqlServer的.net程序,我在下面粘贴了堆栈错误

我从网络上的另一台电脑上尝试了相同的文件,它确实工作正常。所以我怀疑是windows更新在一夜之间造成了问题,所以我做了一次系统还原,仍然是同样的问题

现在我没有主意了。。我不使用oracle,也没有任何参考资料。正如我所说,同一文件夹中的文件昨天在我的电脑上工作,今天也在网络上的其他电脑上工作

    System.BadImageFormatException: Could not load file or assembly 'System.Data.OracleClient.dll' or one of its dependencies.  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   at System.Type.GetType(String typeName)
   at System.Data.Common.DbProviderFactories.IncludeFrameworkFactoryClasses(DataTable configDataTable)
   at System.Data.Common.DbProviderFactories.Initialize()
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
   at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
   at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
   at System.Data.Entity.Internal.LazyInternalConnection.CreateObjectContextFromConnectionModel()
   at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   at System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
   at System.Linq.Queryable.Where[TSource](IQueryable`1 source, Expression`1 predicate)
表示您已在计算机上安装了32位版本的Oracle客户端组件

堆栈跟踪显示以下内容:

  • 触发实体框架操作
  • 实体框架想要读取您的连接字符串
  • 它需要初始化系统上安装的所有数据库提供程序
  • 它找到Oracle并尝试加载它
  • 它失败了,因为依赖项不支持64位
    您应该在确保没有其他软件依赖Oracle Client之后完全卸载它,或者按照上面链接的答案中的说明另外安装64位版本

    我的问题真的没有答案。。我花了几天时间试图解决这个问题,但没有成功

    我完全重新安装了windows,解决了这个问题


    我真的希望这种情况不会再次发生,安装windows(并重新安装所有程序)并不是我想经常做的事情…

    听起来像是32位.NET应用程序试图加载64位程序集。您的应用程序是否使用平台目标
    x86
    编译?否,它被编译为“任何cpu”,在任何情况下,它为什么试图加载该程序集?我重新编译了一个应用程序并指定了x64,同样的错误。我搜索了,但没有找到任何。。。问题是它是如何在其他计算机上正常工作的(运行在和我相同的操作系统上)?这是有道理的,我将尝试它并报告回来,谢谢!或者,我认为您可以从app.config中删除Oracle数据提供程序,这可能会解决问题。我搜索了所有文件(包括app.config),但Oracle一次也没有找到。您应该在“控制面板”中的“添加/删除软件”中搜索并从中删除它