问题标签 [keynotfoundexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
20001 浏览

c# - 抛出 KeyNotFoundException 时,如何查看未找到哪个键?

A System.Collections.Generic.Dictionaryis throwing KeyNotFoundException,但我看不到应该缺少哪个键。我如何确定这一点?

0 投票
1 回答
1371 浏览

installation - Umbraco 安装问题。无法安装入门套件。字典中不存在密钥

这是我在尝试安装 Umbraco 时遇到的问题。我知道 Umbraco 有自己的论坛,但他们刚刚将其移至另一个网址,我似乎无法在那里发布问题。所以我在这里试试。我知道这个问题之前已经报告过,并且已经尝试实施其他人报告的解决方案。但我似乎仍然无法让它工作。我尝试使用 Windows 安装程序,以及自己设置站点。上周我设法创建了一个站点,并安装了一个入门工具包。但现在我无法让它工作。不知道为什么。我做了与上周完全相同的步骤。我有 .NET 4.0、IIS 7 和 Windows 7。Umbraco 版本是最新的 (4.7)。

无论我使用 Windows 安装程序还是 Codeplex 的二进制包,安装过程都可以正常工作,直到我选择安装入门工具包的步骤。例如,我按下 Business Startkit,但随后出现以下错误。我已将我在 inetpub 中的应用程序文件夹、IIS_IUSRS、网络服务和网络完全许可。我对 C:/Temp 文件夹做了同样的事情(正如某人所建议的那样)。我正在使用以集成模式在 .NET 4.0 上运行的应用程序池。我还将它设置为使用网络服务。我还尝试从一个空白数据库开始,以及创建一个新数据库。数据库填充有表。inetpub 中的文件夹也充满了所有应该存在的文件夹和文件。我也尝试过使用 SQL CE,但没有运气。而且我确实有一个有效的互联网连接。

有人对如何解决这个问题有任何想法吗?它变得非常令人沮丧。我想我已经尝试了其他线程中的所有建议,但我可能误解了一些东西,错过了一些步骤,或者忘记了一些建议。任何建议都受到高度赞赏。

我得到的错误:

“/site_development”应用程序中的服务器错误。

0 投票
3 回答
1188 浏览

vb.net - 如何在不分配字典值的情况下对 KeyNotFoundException 进行单元测试

我希望在我的代码中对特定字典运行单元测试,试图获得一个我不希望出现在数据库中的值(在这种情况下,key=1)。

我写了以下代码:

这工作正常,但代码分析抱怨“Dim s as String”声明,因为它说 s 永远不会用于任何事情。那是故意的,因为我打算为此抛出异常,而 s 是无关紧要的。

但是,我似乎找不到从代码中消除 s 的方法。只需删除分配:

现在无法编译。关于如何做到这一点的任何建议?

0 投票
4 回答
7948 浏览

dynamics-crm-2011 - CRM 2011 KeyNotFoundException 异常

我是 CRM 开发的新手。我有一个自定义实体“客户”。该实体有一个名为“defaultcustomer”的字段,可以是 TRUE 或 FALSE。我正在开发一个插件,我需要将所有“客户”的“defaultcustomer”设置为 FALSE。我这样做如下:

事实:

我已经为实体“客户”本身注册了插件。因此,当实体“客户”更新时,插件会触发。

错误: 它在此行引发错误:

0 投票
2 回答
215 浏览

c# - 填充字典中的 KeyNotFoundException

我正在尝试修改字典中的值,但编译器会抛出KeyNotFoundException. 我敢肯定,我在字典中声明了该键,因为我正在调用GenerateEmptyChunks()方法,该方法用具有位置键的块填充字典,而关卡生成器的值是空的。我检查了调试器和Chunks字典对象是否正确填充了键和值。CompareTo是我不工作的方法造成的吗?如果是,我如何修改CompareTo方法来返回正确的值?

GenerateEmptyChunks()方法:

AddBlock()方法由每个图块的级别生成器调用:

Wchunk对象:

WPoint对象:

任何想法为什么编译器拒绝键,当它们在字典中时?

0 投票
2 回答
819 浏览

vb.net - VB.NET ASP.NET 2.0 字典中存在具有请求值的键时出现 KeyNotFoundException

调试会话图像 ValueList 变量定义为 Dictionary(Of String, String)

捕获的监视值显示数据 (tmpData) 的值为“1”。

ValueList 被定义为“1”的替换值是“项目资源”,这可以从 SSGCol.ValueList Watch 变量的扩展中看出。

但是,当我尝试访问该值时,我收到 KeyNotFoundException

过去我已经做过数千次这种事情,但由于某种原因,今天我无法让它发挥作用。我一定错过了一些非常明显的东西,需要有人重新审视并在他们看到我明显的错误时给我一记耳光。

0 投票
4 回答
2215 浏览

c# - KeyNotFoundException 与使用 HtmlEntity.DeEntitize() 方法

我目前正在研究用 C# 4.0 编写的刮板。我使用各种工具,包括 .NET 的内置 WebClient 和 RegEx 功能。对于我的刮板的一部分,我正在使用 HtmlAgilityPack 解析 HTML 文档。我让一切按我的意愿工作,并进行了一些代码清理。

我正在使用该HtmlEntity.DeEntitize()方法来清理 HTML。我做了一些测试,该方法似乎效果很好。但是当我在我的代码中实现该方法时,我不断得到KeyNotFoundException. 没有更多细节,所以我很迷茫。我的代码如下所示:

下载的 HTML 是 UTF-8 编码的。我怎样才能绕过KeyNotFound异常?

0 投票
3 回答
3726 浏览

c# - 当键存在时,C# Dictionary 抛出 KeyNotFoundException

我正在存储一个二维数组,它将向量之间的距离矩阵表示为Dictionary<DistanceCell, double>. 我的实现DistanceCell有两个字符串字段代表被比较的向量。

由于我将此类用作键,因此我覆盖了Equals()and GetHashCode()

正如您所看到的,其中一个要求是DistanceCell可以互换的。所以对于两个字符串and ,必须相等。这就是为什么我用乘法实现的原因,因为must equal 。Group1Group2xyDistanceCell("x", "y")DistanceCell("y", "x")GetHashCode()DistanceCell("x", "y").GetHashCode()DistanceCell("y", "x").GetHashCode()

我遇到的问题是它大约 90% 的时间都可以正常工作,但在其余时间它会抛出 aKeyNotFoundException或 a 。NullReferenceException前者在从字典中获取键时被抛出,后者在我使用循环遍历字典foreach并检索一个空键时被抛出,然后它会尝试调用该键Equals()。我怀疑这与我的GetHashCode()实施中的错误有关,但我并不积极。另请注意,由于我的算法的性质,当我检查它时,永远不应该存在字典中不存在密钥的情况。该算法每次执行都采用相同的路径。

更新

我只是想告诉大家问题已解决。事实证明,这与我的 Equals() 或 GetHashCode() 实现无关。我做了一些广泛的调试,发现我得到 KeyNotFoundException 的原因是因为字典中首先不存在该键,这很奇怪,因为我确信它正在被添加。问题是我使用多个线程将键添加到字典中,据此,c# Dictionary 类不是线程安全的。因此,Add() 失败的时机一定是完美的,因此密钥从未添加到字典中。我相信这也可以解释 foreach 循环如何偶尔产生一个空键。添加()'

感谢每一个人的帮助!很抱歉,这完全是我的错。

0 投票
1 回答
214 浏览

c# - c#中的多级字典错误

我使用以下代码制作 JSON

但它在下面的行中显示了一个异常

它显示以下错误

字典中不存在给定的键

什么地方出了错 ?任何人都可以帮助我

0 投票
3 回答
702 浏览

c# - C# 字典给出 KeyNotFoundException,不知道为什么

我是一名业余程序员,这似乎是一个很容易解决的问题,但我就是不知道如何解决。下面是 C# 代码,它的行为不像我想要的那样。我希望这会返回 3,但会抛出KeyNotFoundException. 列表是相同的,所以它不应该返回 3 吗?谢谢你的帮助。