【问题标题】:The breakpoint cannot currently be hit after oracle dll changeoracle dll更改后当前无法命中断点
【发布时间】:2018-10-05 04:13:42
【问题描述】:

我在 vb,Visual Studio 2012 中有几个项目的解决方案。我刚刚完成了从 System.Data.OracleClient 到 Oracle.DataAccess 的升级任务。当我构建并运行该解决方案时,它工作正常,但一旦我尝试输入登录信息就失败了。当我放置一个断点并在调试模式下构建它并尝试逐步执行每个步骤时,它只会命中第一个页面加载实例,然后引发错误。它永远不会到达目标断点。

当我检查我的 dll 模块时,我注意到了旧版本的 oracle 数据访问和最新版本。他们都说“二进制文件不是用调试信息构建的”

知道如何解决这个问题吗?

编辑

这次我能够在 VS2015 的开发人员命令提示符中再次运行该命令。我得到:

    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

【问题讨论】:

  • 调试模式不保证会生成调试符号 - 尝试完全清理,然后确保在项目属性 > 构建 > 高级...中将“调试信息”设置为“完整”...
  • 您好,感谢您的回复。当我转到项目 > 属性时,我没有看到 Build。这很奇怪
  • 糟糕,我在看 VS2017!在 VS2012 中,它似乎位于 Compile > Advanced Compile Options > Generate debug info 下。
  • 好的。我刚刚检查过,我的设置为“完整”。我仍然遇到问题
  • 你为“从oracle 11升级到oracle 12的任务”做了什么?

标签: vb.net oracle oracle11g oracle12c odac


【解决方案1】:

您不必隐藏PublicKeyToken,它们对所有人都是公开的。

无论如何,我假设你搞砸了你的 Oracle 安装。很可能您有一个正常工作的 Oracle 客户端 11.1(包括 ODP.NET),但随后您安装了 ODP.NET(即Oracle.DataAccess.dll)版本 11.2,但没有底层 Oracle 客户端 11.2。

删除所有 Oracle 客户端安装(咨询 How to uninstall / completely remove Oracle 11g (client)?)并重新安装 任一 Oracle 11.1 11.2 - 甚至是最新版本 12.2。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多