我在vb,Visual Studio 2012中有几个项目的解决方案。我刚刚完成了从System.Data.OracleClient到Oracle.DataAccess的升级任务。当我构建并运行解决方案时,它工作正常,但一旦我尝试输入登录信息就失败了。当我放置断点并在调试模式下构建它并尝试逐步执行每个步骤时,它只会触发第一个实例进行页面加载,然后抛出错误。它永远不会到达目标断点。
当我检查我的dll模块时,我注意到旧版本的oracle数据访问和最新版本。他们都说“Binary不是用调试信息构建的”
知道如何解决这个问题吗?
修改
这次我可以在VS2015的Developer Command Prompt中再次运行命令。我得到了:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\gacutil.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0>gacutil /l | find "Oracle."
Oracle.DataAccess, Version=2.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxx, processorArchitecture=x86
Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=xxxxxxxx, processorArchitecture=x86
Oracle.Web, Version=2.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxx, processorArchitecture=x86
Policy.2.102.Oracle.DataAccess, Version=2.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxx, processorArchitecture=x86
Policy.2.111.Oracle.DataAccess, Version=2.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxx, processorArchitecture=x86
Policy.2.111.Oracle.Web, Version=2.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxx, processorArchitecture=x86
Oracle.DataAccess, Version=1.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxx
Policy.1.102.Oracle.DataAccess, Version=1.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxx
Policy.1.111.Oracle.DataAccess, Version=1.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxx
Policy.10.1.Oracle.DataAccess, Version=1.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxxx
Policy.10.2.Oracle.DataAccess, Version=1.111.7.0, Culture=neutral, PublicKeyToken=xxxxxxxxxx
Policy.9.2.Oracle
答案 0 :(得分:0)
你不必隐瞒PublicKeyToken
,它们对每个人都是公开的。
无论如何,我认为你搞砸了你的Oracle安装。很可能你有一个有效的Oracle Client 11.1(包括ODP.NET),但是你安装了ODP.NET(即Oracle.DataAccess.dll
)版本11.2但没有底层的Oracle Client 11.2。
删除所有Oracle客户端安装(请参阅How to uninstall / completely remove Oracle 11g (client)?)并全新安装 Oracle 11.1 或 11.2 - 甚至是最新版本12.2。