无法加载工具箱项.它将从工具箱中删除

dis*_*kid 18 .net c# user-controls visual-studio winforms

我有一个WinForm申请.我也User Control为它创造了自己的.一切都很好.直到今天,当我尝试将其添加回我的程序时,我收到了错误消息(我从未将其删除.Visual Studio确实如此).

无法加载工具箱项#UserControlName.它将从工具箱中删除.

我在我的解决方案资源管理器中有它,但在此错误后它从我的工具箱中消失了.我也收到警告说:

'#UserControlName'永远不会被赋值,并且将始终具有其默认值null.

当我看到我的设计师代码时,这是真的.但我没有用我的设计师代码做任何事情.我的用户控件是在那里定义的,但没有实例化.我怎么能把它放回去?

它有什么关系,我改变了我的构建平台的事实x32x64?如果是这种情况,我会感到惊讶,因为该程序在更改后工作正常.

Nth*_*per 24

我的一个应用程序遇到了同样的问题,但找不到解决方案.所以我手动创建了用户和自定义控件.在再次搜索网页后,我终于找到了设计师为这个特定项目失败的原因.答案是项目是64位而Visual Studio仍然没有64位版本,它仍然是32位.因此,设计人员无法在64位应用程序或类库中加载控件.阅读微软关于此的文章.Visual Studio网站上有一篇文章,但它被删除了.请参阅Visual Studio支持论坛中的答案.

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

  • 我也解决了这个问题 - 这应该是公认的答案 (3认同)

P.K*_*.K. 22

我最近遇到了同样的问题.由于这个(本网站和互联网上的任何其他答案)实际上帮助了我,我找到了解决问题的方法.
只需清理文件并重建解决方案即可.就如此容易.

  • 我有同样的问题,^这(清洁/重建)对我有用.编辑设计器不起作用,关闭/重新打开VS不起作用.我将用户控件放在另一个用户控件中. (2认同)

小智 9

我遇到了同样的问题,但我找到了解决方案:
用鼠标左键单击“Project_Name”,然后单击“Build”,然后您可以将UserControl添加到WinForm


Hrv*_*tić 5

更改为 AnyCPU 并重建项目。Visual Studio 在 64 位控件方面存在问题。


Seb*_*awe 0

在这种情况下,您将被迫修改设计器代码。只要不对设计器代码进行重大更改,就不应该破坏任何内容。为了安全起见,请在实例化其他控件的地方重新实例化该对象(靠近页面顶部)。设计师应该填写属性等的空白。

这也应该将控件返回到工具箱。

  • 这个答案并不清楚。设计者代码到底能做什么?我假设您指的是名为 MyWonderfulControl.designer.cs 的源文件。 (2认同)