【问题标题】:Failed to load toolbox item. It will be removed from the toolbox , what is a ways to solve it?无法加载工具箱项目。它将从工具箱中删除,有什么方法可以解决它?
【发布时间】:2021-01-12 15:50:09
【问题描述】:

我面临的一个问题是 - 我有一个自定义 UserControl,我想将它作为附加选项卡添加到我的 TabControl 中,所以我只是在工具箱中找到了我的 UserControl 并将其拉到我的 TabControl 中,然后我立即得到一个错误弹出窗口说

未能加载工具箱项。它将从工具箱中移除

经过研究,我找到了一些这样的答案

https://stackoverflow.com/a/44628024/5709159

还有这个

https://social.msdn.microsoft.com/Forums/vstudio/en-US/77e10b58-43cc-4aab-919f-888f14f99571/x64-class-library-of-user-controls?forum=csharpgeneral

他们在谈论 32 位和 64 位处理之间的不匹配,但我真的不知道如何解决它?就像我需要点击的地方或者我需要重新编译以使其工作?如果有人可以将这些链接上的内容翻译成更清晰的语言,我将不胜感激。

编辑

我正在尝试添加一个全新的 UserControl,这意味着我创建了一个新的 UserControl,并且我打开工具箱并将其拉入在选项卡控件中创建的选项卡中,结果我收到上面的错误。因此,没有构造函数或早期访问父问题。

关于 CPU 我不使用AnyCPU 我使用x64 这可能是个问题吗?而且为了检查,我无法切换到AnyCPU,因为我的项目与AnyCPU不兼容。

【问题讨论】:

  • 在你跳到那个之前。仔细检查您的用户控件是否存在可能的错误。就像在尚未创建句柄时尝试在构造函数中做某事一样。就像在尚未创建相关对象(空值)时尝试访问对象(例如在OnPaint 中)。就像尝试在其null 访问父控件。像......等等。
  • 同上。另外,您需要指定此 UserControl 是另一个解决方案的一部分还是使用它的同一解决方案的一部分,以及用于构建它的配置文件是什么。如果你设置AnyCPU,你会没事的。如果位数不同,Visual Studio 应该警告您(并且,IIRC,这也阻止了解决方案的构建)。
  • @dr.null 编辑了我的问题,看起来应该不是问题
  • @Jimi 编辑了我的问题,看起来我使用的架构中可能存在问题,所以这是否意味着如果我使用 x64 就无法使用工具箱?
  • 我认为我们需要再进行一次编辑以帮助我们理解并尝试重现该问题。哪个框架?你的解决方案的结构(见第二条评论)?也许来自该控件的一些代码?您是否调用了不尊重IntPtr.Size 的任何win32 方法? ....

标签: c# winforms


【解决方案1】:

在您的项目属性中,尝试将构建选项卡中的平台目标更改为 x86。 当我遇到类似问题时,它对我有用。

【讨论】:

    猜你喜欢
    • 2015-02-02
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多