如标题所述,我在 Visual Studio 项目中复制了我的 DLL,将其设置为“内容”和“始终复制”。添加了对此 DLL 的引用并将其设置为“本地复制”。
我成功地通过代码将我的组件实例化为一个表单,但它没有出现在工具箱中,真的很无聊。
我该如何解决这个问题?
如果我将 DLL 项目直接链接到该项目,它可以工作,但现在我将 DLL 视为“外部”,因此它不是 DLL 项目的同一解决方案的一部分。
如标题所述,我在 Visual Studio 项目中复制了我的 DLL,将其设置为“内容”和“始终复制”。添加了对此 DLL 的引用并将其设置为“本地复制”。
我成功地通过代码将我的组件实例化为一个表单,但它没有出现在工具箱中,真的很无聊。
我该如何解决这个问题?
如果我将 DLL 项目直接链接到该项目,它可以工作,但现在我将 DLL 视为“外部”,因此它不是 DLL 项目的同一解决方案的一部分。
我对@AndrewFinnell 的解决方案有这个问题:
'c:....\XXXX.dll' 中没有可以放置在工具箱中的组件。
所以我通过拖放解决了:
我还意识到某些组件可能与某些.NET Framework 版本存在兼容性问题。例如,您将使用的专业日历/议程视图似乎不适用于 .NET 4.5,而它适用于 .NET 4。
然后你的组件应该会出现
我发现使它工作的方法是:
然后控件出现在工具箱中(并不总是有效,我认为这是一种视觉工作室错误)
就像上面说的,
我通过以下方式引用客户端项目中的 DLL:在解决方案资源管理器中右键单击 > 添加引用,此时自定义控件未出现在工具箱中。
我保存它并关闭客户端项目。
我重新启动 Visual Studio 2012 并重新打开客户端项目。现在自定义控件在工具箱中。
我重新打开自定义控件项目,进行一些修改并编译。
最重要的是,我在 DLL 项目中所做的所有更改都会在客户端项目中自动更新,而无需重做“添加引用”。
这就是我所做的。
从 MSDN 链接安装 net 3.5 图表下载后,我手动将 3.5 图表 dll 复制到我的项目并参考它们。然后,从工具箱的“选择项”中,浏览到 dll 并将它们添加到工具箱中。确保选中“选择项目”弹出窗口中的“图表”复选框。
在这些之后,工具箱中的“图表”项应该可用并为 .NET 3.5 项目启用。
注意 (我使用的是 Visual Studio 2010。我认为我的解决方案应该适用于 2012 年。)
我遇到了同样的问题。我在 Visual Studio 2010 中工作。
我的用户控件库是用 C# 编写的,我将其导入的项目是 Visual Basic。
如果我的解决方案中有 C# 项目,自定义用户控件将自动显示。但是,如果我只引用 DLL,它不会将自定义用户控件从引用的库加载到“工具箱”中。
上面提到在资源管理器中找到文件并将其拖放到工具箱中的帖子解决了这个问题。这是一种非常奇怪的行为方式。VB 用户控件库不需要这一步。
这是我过去两年一直坐在燃烧器上的问题。
我会投票赞成以前的答案,但我还没有足够的代表。
这篇文章可以使用一些更好的标签,因为它被我的大部分谷歌搜索所掩盖。
我对此的一个问题是:如果您将项目引用更改为 DLL(因为它已移动)而不尝试更新工具箱引用(通过从工具箱中删除控件并从新位置)?
并添加库。到您的解决方案示例 solutionfolder/bin/debug 中的文件夹,然后从该文件夹添加对对象的引用,最后重建、退出、返回、从该解决方案文件夹/.../../ 拖放 dll,它可能会出现。