C#组件在源代码更新时不刷新

C#组件在源代码更新时不刷新,c#,.net,custom-component,C#,.net,Custom Component,我有很多项目的解决方案。一个项目包含很少的自定义组件。其中一个组件用于在图像上显示标题。我们可以改变背景的颜色和其他很多东西 问题是,如果我决定更改组件背景的默认颜色或更改文本的位置,这些更改将不会反映在使用组件的解决方案的所有其他项目中。我已经编译了该组件的项目,所有其他项目都通过该项目引用该组件 目前,我要做的是从另一个项目中一个接一个地删除组件并将其添加回来,然后一切都很好。你有快速的方法吗 更新 我在该组件中添加了一个复选框,似乎复选框无处不在!好的但是,当属性具有允许组件更改的某个标记

我有很多项目的解决方案。一个项目包含很少的自定义组件。其中一个组件用于在图像上显示标题。我们可以改变背景的颜色和其他很多东西

问题是,如果我决定更改组件背景的默认颜色或更改文本的位置,这些更改将不会反映在使用组件的解决方案的所有其他项目中。我已经编译了该组件的项目,所有其他项目都通过该项目引用该组件

目前,我要做的是从另一个项目中一个接一个地删除组件并将其添加回来,然后一切都很好。你有快速的方法吗

更新 我在该组件中添加了一个复选框,似乎复选框无处不在!好的但是,当属性具有允许组件更改的某个标记(例如背景色)时,它不会更改“默认”值,而是将旧值作为更改后的值放在属性中。因此,我看到旧值设置为,如果我在属性面板中手动添加更改的颜色,而我没有

更新2

更新3:

这个问题仍然存在。只是想让人们知道,我仍然好奇地想找到一种方法

我试过你的一些建议

  • 如果我清理所有解决方案并只生成具有自定义控件的项目,那么我将生成解决方案。无任何更改(为了测试它,我已将组件的颜色更改为黄色。无任何更改:失败
  • 如果我删除引用并将其添加回项目,然后重新生成解决方案,我可以在设计器中看到旧颜色:fail
  • 我已经用更多的信息更新了这个问题,并为那些想帮助我的人提供了一张图片(上图)


    如您所见,组件的旧“compile”显示黄色背景,但当我插入新组件时(从VisualStudio中的左侧工具栏)我可以使用假定为白色背景的新组件…

    我的猜测是,设计器是智能的,它会记住组件在设计器中的设置,因此会将其视为默认设置。

    我的猜测是,设计器是智能的,它会记住组件在设计器中的设置,然后us将其视为默认设置。

    这听起来并不常见。右键单击解决方案并点击“Clean solution”可能会有所帮助(它将从每个项目的bin目录中删除所有DLL和可执行文件,从而强制进行新的构建)


    您可能还需要检查生成顺序。

    这听起来并不常见。右键单击解决方案并点击“Clean solution”可能会有所帮助(它将从每个项目的bin目录中删除所有DLL和可执行文件,这将强制进行新的生成)


    您可能还需要检查生成顺序。

    这很可能是由于造成的

    您的其他项目可能到您的组件项目。您必须重新生成这些其他项目,以便它们在引用的组件项目中重新复制(如果已更改)。它仅在生成时更新

    你可以通过让他们成为同一个解决方案的一部分来解决这个问题。在这种情况下,你可以正确设置,它应该会自动为你处理事情。但让所有事情都在同一个解决方案中并不总是正确的做法


    如果您已经将它们作为同一解决方案的一部分,或者这不是一个引用问题,那么这可能是由于造成的。在进行自定义控件开发时,我们经常遇到这种怪癖。

    这很可能是由于造成的

    您的其他项目可能到您的组件项目。您必须重新生成这些其他项目,以便它们在引用的组件项目中重新复制(如果已更改)。它仅在生成时更新

    你可以通过让他们成为同一个解决方案的一部分来解决这个问题。在这种情况下,你可以正确设置,它应该会自动为你处理事情。但让所有事情都在同一个解决方案中并不总是正确的做法


    如果您已经将它们作为同一解决方案的一部分,或者它不是引用问题,那么这可能是由于造成的。在进行自定义控件开发时,我们经常遇到这种怪癖。

    我在一个有类似问题的项目上工作,我发现如果您触摸.NET配置文件或程序集信息文件(取决于您的项目类型)。其他项目将反映组件更改

    我不知道为什么会这样,但这就是我克服它的方法


    最近,我已经切换到通过Nant构建所有内容,这完全解决了这个问题。

    我在一个有类似问题的项目上工作,我发现如果您触摸.NET配置文件或程序集信息文件(取决于您的项目类型)。其他项目将反映组件更改

    我不知道为什么会这样,但这就是我克服它的方法


    最近,我已经切换到通过Nant构建所有内容,这就完全解决了问题。

    有时可视化设计器会在代码中序列化所有属性,即使它们具有默认值


    如果组件的默认背景色为红色,而您将默认背景色更改为蓝色,则使用组件的组件会将其更改回红色。

    有时可视化设计器会序列化代码中的所有属性,即使它们具有默认值

    如果组件的默认背景色为红色,而您将默认背景色更改为蓝色,则使用组件的组件将更改它