16

如标题所述,我在 Visual Studio 项目中复制了我的 DLL,将其设置为“内容”和“始终复制”。添加了对此 DLL 的引用并将其设置为“本地复制”。

我成功地通过代码将我的组件实例化为一个表单,但它没有出现在工具箱中,真的很无聊。

我该如何解决这个问题?

如果我将 DLL 项目直接链接到该项目,它可以工作,但现在我将 DLL 视为“外部”,因此它不是 DLL 项目的同一解决方案的一部分。

4

8 回答 8

14

我对@AndrewFinnell 的解决方案有这个问题:

'c:....\XXXX.dll' 中没有可以放置在工具箱中的组件。

所以我通过拖放解决了:

  • 打开 Windows 资源管理器并导航到 DLL
  • 将 DLL 拖放到工具箱中的 Visual Studio 上,这正是您希望组件出现的位置。

我还意识到某些组件可能与某些.NET Framework 版本存在兼容性问题。例如,您将使用的专业日历/议程视图似乎不适用于 .NET 4.5,而它适用于 .NET 4。

于 2013-12-19T15:29:42.243 回答
10
  • 在工具箱中单击鼠标右键。
  • 点击“选择项目...”
  • 点击“浏览...”
  • 导航到您的 DLL,然后单击打开
  • 然后点击“确定”

然后你的组件应该会出现

于 2011-01-07T01:04:11.540 回答
5

我发现使它工作的方法是:

  1. 添加dll,引用它
  2. 编译项目
  3. 保存解决方案并重新启动 Visual Studio

然后控件出现在工具箱中(并不总是有效,我认为这是一种视觉工作室错误)

于 2011-07-21T09:00:09.013 回答
1

就像上面说的,

  1. 我通过以下方式引用客户端项目中的 DLL:在解决方案资源管理器中右键单击 > 添加引用,此时自定义控件未出现在工具箱中。

  2. 我保存它并关闭客户端项目。

  3. 我重新启动 Visual Studio 2012 并重新打开客户端项目。现在自定义控件在工具箱中。

  4. 我重新打开自定义控件项目,进行一些修改并编译。

  5. 最重要的是,我在 DLL 项目中所做的所有更改都会在客户端项目中自动更新,而无需重做“添加引用”。

于 2013-05-24T11:25:14.477 回答
0

这就是我所做的。

从 MSDN 链接安装 net 3.5 图表下载后,我手动将 3.5 图表 dll 复制到我的项目并参考它们。然后,从工具箱的“选择项”中,浏览到 dll 并将它们添加到工具箱中。确保选中“选择项目”弹出窗口中的“图表”复选框。

在这些之后,工具箱中的“图表”项应该可用并为 .NET 3.5 项目启用。

注意 (我使用的是 Visual Studio 2010。我认为我的解决方案应该适用于 2012 年。)

于 2015-01-16T17:06:18.930 回答
0

我遇到了同样的问题。我在 Visual Studio 2010 中工作。

我的用户控件库是用 C# 编写的,我将其导入的项目是 Visual Basic。

如果我的解决方案中有 C# 项目,自定义用户控件将自动显示。但是,如果我只引用 DLL,它不会将自定义用户控件从引用的库加载到“工具箱”中。

上面提到在资源管理器中找到文件并将其拖放到工具箱中的帖子解决了这个问题。这是一种非常奇怪的行为方式。VB 用户控件库不需要这一步。

这是我过去两年一直坐在燃烧器上的问题。

我会投票赞成以前的答案,但我还没有足够的代表。

这篇文章可以使用一些更好的标签,因为它被我的大部分谷歌搜索所掩盖。

所以

  1. 引用用户控件库
  2. 将 DLL 文件拖放到工具箱中。

我对此的一个问题是:如果您将项目引用更改为 DLL(因为它已移动)而不尝试更新工具箱引用(通过从工具箱中删除控件并从新位置)?

于 2015-08-28T16:11:58.527 回答
0

我尝试遵循其他答案(感谢你们所有人!),但我遇到了这个问题,我会让你们知道我是如何解决它的,并在工具栏中显示我的自定义工具(在 VS 2017 中)。

  1. 将 .ddl 文件放在任何库解决方案中
  2. 然后我将该 .ddl 添加为对我需要的项目的引用
  3. 构建项目并重新启动 Visual Studio
  4. 然后,当我查看工具箱时,我的自定义工具箱名称出现在工具栏中,当我展开时,我收到以下消息

    该组中没有可用的控件。将项目拖到此文本上以添加到工具箱

    在此处输入图像描述

  5. 我将 .dll 拖放到该文本下,然后我的所有自定义工具都出现在我的工具箱中。

于 2017-10-26T05:23:42.847 回答
0

并添加库。到您的解决方案示例 solutionfolder/bin/debug 中的文件夹,然后从该文件夹添加对对象的引用,最后重建、退出、返回、从该解决方案文件夹/.../../ 拖放 dll,它可能会出现。

于 2019-04-11T11:17:41.593 回答