提问人:John 提问时间:2/12/2018 最后编辑:John 更新时间:3/1/2022 访问量:2386
空引用异常.....但该值不是 NULL
Null Reference Exception.....but the value is NOT NULL
问:
我有一行代码标记为 NULL。这是怎么回事......它是一个字符串,在创建时填充。我的 VS2013 有错误吗?或者我需要更改的设置?string managerFirstName = "[email protected]";
答:
删除 Visual Studio 组件缓存后再尝试。
关闭 Visual Studio(确保任务管理器中不存在 devenv.exe) 删除目录:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
重新启动 Visual Studio
这在 VS2k13 中经常发生在我身上。基本上,您的代码不会被重新生成。即使在清理/重建之后,某些代码也会拒绝编译。曾经对我有用的是1。清理/重建。2. 在您正在查看的代码区域中更改代码。3. 在调用方法中放置断点。4. 调试并按 f11 逐行执行代码更改。
评论
如果问题与代码相关,而不是与生成相关,则这看起来像是线程问题。尝试将整个函数包装在一个锁中,并寻找上下文是如何被破坏的。
崩溃的不是突出显示的行 - IDE 突出显示了错误的行。
您发布的堆栈跟踪提到了 。尝试查找使用该对象的代码行 - 可能是突出显示的行 () 上方的代码行。检查该调用的每个参数,看看是否可以找到 null 引用。RFS.DotNetNuke.Service.ActiveDirectorySynchronise.something
GetManagerForOrgUnit
只想对所有帮助我解决这个问题的人说声谢谢......我找到了原因......就在
ADUser managerUser = GetManagerNameForOrgUnit(coreData.OrgAssignment_0001.OrgUnit.ID, coreData.PersonnelNo);
有一个 if 语句,在测试期间总是阻止代码命中 GetManagerNameForOrgUnit(),我一直在手动单步执行这个 if。
我把它注释掉了,代码工作正常。
再次感谢
当我手动跳过几行(显然不相关的代码部分)的执行时,我遇到了这个问题。
我在 VS 2022 中遇到了这个问题。发生这种情况时,我得到空引用和错误。我发现这是因为我的调试配置设置为“发布”而不是“调试”。
评论
null
评论
View Detail ...