【问题标题】:Null Reference Exception.....but the value is NOT NULL空引用异常.....但是值不是空的
【发布时间】:2018-02-12 04:37:13
【问题描述】:

我有一行代码string managerFirstName = "test@test.com"; 标记为NULL。这个 NULL 是怎么回事……它是一个在创建时填充的字符串……我的 VS2013 有错误吗?还是我需要更改的设置?

【问题讨论】:

  • 尝试重建。有时调试器会混淆异常所在的源代码行。
  • 我尝试了干净和重建,甚至重新启动了我的 cpu
  • 那个 managerUser 是 null 吗?而不是 managerFirstName?
  • 请从View Detail ...发布详细的调用堆栈
  • 我遇到了同样的问题。一个项目或解决方案“干净”实际上并没有清除所有已编译的 dll 的 fand pdb 的 bin/obj 调试目录。通过文件资源管理器删除 bin 和 obj 目录然后进行重建后,我的调试器正确显示了源并将其与错误相关联。

标签: c# visual-studio visual-studio-2013 nullreferenceexception


【解决方案1】:

崩溃的不是突出显示的行 - IDE 突出显示了错误的行。

您发布的堆栈跟踪提到了RFS.DotNetNuke.Service.ActiveDirectorySynchronise.something。尝试查找使用该对象的代码行 - 可能是突出显示行上方的代码行 (GetManagerForOrgUnit)。检查该调用的每个参数,看看是否可以找到空引用。

【讨论】:

    【解决方案2】:

    如果问题与代码相关,而不是构建,这看起来像是线程问题。尝试将整个函数封装在一个锁中,并寻找上下文是如何被破坏的。

    【讨论】:

      【解决方案3】:

      删除 Visual Studio 组件缓存后尝试。

      1. 关闭 Visual Studio(确保任务管理器中不存在 devenv.exe)删除目录:

        %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
        
      2. 重启 Visual Studio

      【讨论】:

        【解决方案4】:

        这在 VS2k13 中经常发生在我身上。基本上你的代码没有得到重建。即使在清理/重建之后,一些代码也拒绝编译。过去对我有用的是1。清理/重建。 2. 在您正在查看的代码区域中进行代码更改。 3. 在调用方法中设置断点。 4. 逐行调试和f11对你的代码进行修改。

        【讨论】:

        • 感谢您的回复,但这不起作用,VS 13,15 和 17 也出现同样的问题
        • 尝试注释掉以后对变量的任何引用,或者如果它们是 linq 操作,则将它们更改为非 linq,看看是否有帮助。也将文本内容更改为“abc”。只是为了探索。
        • 尝试将调试视图切换到 IL,看看什么是空的。
        • 还有一个...检查这是否是线程问题。把代码锁起来
        【解决方案5】:

        只想对所有帮助我解决这个问题的人说声谢谢......我找到了原因......就在上面

        ADUser managerUser = GetManagerNameForOrgUnit(coreData.OrgAssignment_0001.OrgUnit.ID, coreData.PersonnelNo);
        

        有一个 if 语句,在测试期间总是阻止代码点击 GetManagerNameForOrgUnit(),我一直在手动跨过这个 if。

        我把它注释掉了,代码运行正常。

        再次感谢

        【讨论】:

          【解决方案6】:

          当我手动跳过几行(显然不相关的代码部分)的执行时,我遇到了这个问题。

          【讨论】:

            【解决方案7】:

            我在 VS 2022 中遇到过这个问题。发生这种情况时,我得到空引用和错误。我发现这是因为我的调试配置设置为发布而不是调试。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-05-16
              • 2015-04-05
              • 1970-01-01
              相关资源
              最近更新 更多