【发布时间】:2019-03-29 04:26:04
【问题描述】:
我在这里为其他程序员制作了一个用户控件,从“Windows 窗体控件库”模板开始——据我了解,这是创建用户控件时应该采用的方法。它在我的机器上运行良好,我只需转到工具栏并选择“选择项目”即可将其添加到工具栏。没问题,添加好了,我可以用了。
我正在尝试将它提供给这里的另一个开发人员。现在处于开发过程的早期阶段,为了让事情顺利进行,我们可以访问一个共享目录。他自己编译了源代码并尝试将控件添加到他的工具箱中。当他尝试这样做时,他得到的只是消息“[我的控件]中没有可以放置在工具栏上的组件”。
我找到了有关在网络上分发用户控件的信息,但我们希望将这些控件保留在内部。我在我的机器上安装/更新了一个名为“vsix”的东西,但是当我“导出”它时,我只得到一个包含他已经拥有的文件的 zip 文件。我已经尝试过搜索诸如“visual studio 2017 分发用户控件”之类的内容的变体,但它不断回到设置 Web 控件或“使用 vsix”,我只是无法做出正面或反面。
我在How to add a Custom Windows Forms Control into Visual Studio Toolbox 看到了这个答案: “您可以将控件的 dll 复制到永久位置。然后右键单击工具箱,例如在常规选项卡上,然后单击选择项目...然后在 .Net Framework 组件选项卡中的选择工具箱项目窗口中,单击浏览... 按钮并打开您的控件的dll。然后在组件列表中,检查控件并单击确定按钮。控件将出现在选定的选项卡下。您也可以通过右键单击添加自己的选项卡并选择添加选项卡。” -- 但是只要我们点击它,就会收到“没有组件...”的消息。
那么,我如何将我在我的机器上创建的用户控件传递给我周围立方体中的人?
是否有“像我五岁一样向我解释”版本的“给某人你写的控制权”?
【问题讨论】:
-
我很久以前就这样做了,所以细节可能已经改变,但是您需要添加对注册表的引用以及包含您的程序集的文件夹的路径。像
[HKLM|HKCU]\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\MyFolder这样的东西。检查您的开发机器上的注册表,您无疑会找到一些示例。通常,您可以通过提供一个 msi 安装程序来安装您的控件并创建必要的注册表项。