【问题标题】:How do I update/overwrite a custom toolbox item in Visual Studio?如何在 Visual Studio 中更新/覆盖自定义工具箱项?
【发布时间】:2022-01-21 06:34:51
【问题描述】:

我已经成功地实现了这个custom TabControl project。我将这个TabControl 项目构建为一个.dll 文件,这样我就可以将它拖到我的其他项目的工具箱中并在设计器中查看自定义控件但是当我想在这个自定义TabControl 项目中更改某些内容时,当我重建.dll文件并再次将其拖入工具箱中,它不会更新设计器中现有的自定义控件。

当我 ctrl+m1 使用自定义控件中的变量时,它链接到只读元数据。

我是否需要在进行更改时首先删除所有自定义控件,或者是否有办法“更新”设计器中已有的现有自定义工具箱项?

【问题讨论】:

    标签: c# visual-studio winforms


    【解决方案1】:

    我在 vs2019 和 vs2022 中测试过这个问题,效果很好。

    dll重建时,不需要重新加载到工具箱中。

    如果依赖dll的程序页面没有更新,就重建它。

    我的测试环境是.Net Framework 4.8。

    如果您对此有任何疑问,请告诉我,我会继续跟进。

    【讨论】:

    • 我在发布后一个小时就发现了这个问题,但因为太忙而无法回复,我没有在一个解决方案中运行多个项目。我有一个项目依赖于另一个解决方案项目的 .dll 文件。在这种情况下,它不会自动更新。要让它自动更新,我需要将自定义 Control 项目添加到我使用自定义控件的同一解决方案中,然后将项目依赖项添加到自定义 Control 项目(与您已经设置它的方式相同。) . (注意:自定义控件似乎自动出现在工具箱中)
    • 当我从单独的解决方案的项目中单独添加 .dll 文件时,它不算作依赖项,我认为这意味着 Visual Studio 不会检查构建的 .dll 是否已更新。
    • 为了从项目中删除旧版本的 .dll 文件,我可以从 Refrences 文件夹中删除相关的“引用”,这会从项目中删除所有自定义控件类(同时删除旧工具箱项目)。然后将新的 .dll 添加到工具箱中(注意:在将自定义控件添加到设计器表单时添加了引用,因此您需要从工具箱中添加一个新的自定义控件,以便 Visual Studio 从工具箱项,则所有自定义控件类应再次存在于项目中)
    • 希望我对遇到同样问题的人解释得足够好。我会接受您的回答,因为它对于我想要的内容来说是正确的,尽管您可以解释如何进行设置(我需要所有项目都在同一个解决方案中,并且我需要将项目依赖项设置为自定义控件项目。也许还留下一个示例项目。)
    • 其实在我的测试中,在单独的项目中,只要rebuild就可以达到同样的效果。
    猜你喜欢
    • 2011-08-20
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多