【问题标题】:WPF designer exception; "An item with the same key had already been added"WPF 设计器异常; “已添加具有相同密钥的项目”
【发布时间】:2013-02-19 16:33:52
【问题描述】:

我正在开发一个使用 WPF 的应用程序。在设计器中,每当我在“属性”窗口打开并展开“文本”部分时选择标签对象时,设计器会在一秒钟内消失并被一个无模式的错误对话框取代:

(X) 发生了未处理的异常

点击这里重新加载设计器

详情:

System.ArgumentException

已添加具有相同密钥的项目

  • 在 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源)
  • 在 System.Collections.Generic.Dictionary`2.Insert(...)
  • 在 MS.Internal.FontFace.PhysicalFontFamily.ConvertDictionary(...)

我很确定其余部分无关紧要。

我仍在开发代码;它甚至没有运行。 VS Designer 的代码中出现异常。

显然我的一种字体有问题。我该如何解决这个问题?

编辑我们已经尝试停止字体相关服务并清除字体缓存。

【问题讨论】:

  • 你的项目中是否有文本框的控件模板?
  • 如果有的话,我们从来没有故意创建一个。如果有的话,我们怎么看?
  • 对不起,我可能是指标签。我认为你应该分享你创建的代码。
  • 分享代码?没有代码!目前所有的项目都是一个 XAML 文件,描述了带有一堆 Label 和 Ellipse 对象的普通窗口!
  • 好吧,如果是我的项目,如果不看项目本身,很难猜出它可能是什么,我将从创建一个新对象开始,然后通过从旧项目复制来重新创建 xaml。某处可能存在导致严重破坏的引用。

标签: wpf visual-studio-2010 exception fonts designer


【解决方案1】:

(已解决)

经过几个小时的调试终于找到了解决方案。

我安装了 Visual Studio 2015 Preview,但当我尝试打开 XAML 文件时出现错误:

System.ArgumentException

已添加具有相同密钥的项目

在 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源)在 System.Collections.Generic.Dictionary`2.Insert(...) At MS.Internal.FontFace.PhysicalFontFamily.ConvertDictionary(...)

那个错误没有多大帮助。所以我创建了一个本地帐户并使用该新帐户登录。然后我收到了一条消息

您的计算机上有一个名为 C:\Program 的文件或文件夹 会导致某些应用程序无法正常运行。重命名 它到 C:\Program1 将解决这个问题。你想重命名吗 现在呢?

删除该文件后,XAML 文件似乎可以正常工作。

如果有什么不同,请检查您的 C:\。确保同时检查所有隐藏文件。

【讨论】:

  • 有用的信息,谢谢。很有可能,我会尽快检查。
  • 我在 Visual Studio 2015 中创建一个新的/第一个 WPF 项目时遇到了这个问题,这解决了它。谢谢
  • 哇!谢谢你!!这让我发疯了。同样的问题,名为 Program 的文件隐藏在 c:
猜你喜欢
  • 1970-01-01
  • 2011-01-27
  • 2016-03-25
  • 2021-08-02
  • 2011-03-01
  • 2017-11-17
  • 1970-01-01
相关资源
最近更新 更多