题
我有很多项目的解决方案。一个项目包含很少的自定义组件。这些组件之一用于在图像上显示标题。我们可以改变背景的颜色和许多其他东西。
问题是,如果我决定更改组件背景的默认颜色或更改文本的位置,这些更改不会反映在使用该组件的解决方案的所有其他项目中。我已经编译了该组件的项目和所有其他项目通过该项目引用该组件。
目前,我要做的就是把另一个项目中的组件一一取下来,然后再添加回来,就万事大吉了。你有快速的方法吗?
更新我在该组件内添加了一个复选框,似乎该复选框无处不在!美好的!但是,当某个属性具有某个允许组件更改的标记(例如背景颜色)时,它不会更改“默认”值,而是将旧值作为属性中的更改值。因此,我看到设置的旧值就像我在“属性”面板中手动添加更改颜色一样,而我还没有...
更新2 替代文本 http://img517.imageshack.us/img517/9112/oldonenewoneei0.png
更新3:
这个问题仍然存在。只是为了让人们知道我仍然很好奇找到一种方法。
我尝试过你的一些建议。
- 如果我清理所有解决方案并仅构建具有自定义控件的项目,那么我将构建该解决方案。没有任何变化(为了测试它,我已将组件的颜色更改为黄色。没变化 : 失败.
- 如果我删除引用并将其添加回项目,然后重建解决方案。我可以在设计器中看到旧颜色: 失败.
我已经为那些想要帮助我的人更新了问题,提供了更多信息和图片(如上)。
正如您所看到的,组件的旧“编译”显示黄色背景,但是当我插入新组件(从 Visual Studio 中的左侧工具栏)时,我可以让新组件具有假定的白色背景...
其他提示
我的猜测是,设计器很聪明,会记住设计器中组件的设置,因此将其视为默认设置。
这听起来不寻常。右键单击解决方案并点击“清理解决方案”可能会有所帮助(它将从每个项目的 bin 目录中删除所有 dll 和可执行文件,这会强制进行新的构建)
您可能还想检查您的构建顺序。
我从事的一个项目也有类似的问题,我发现如果您触摸 .NET 配置文件或程序集信息文件(取决于您的项目类型)。其他项目将反映组件的变化......
我不知道为什么会发生这种情况,但这就是我克服它的方法......
最近我转而通过 Nant 构建一切,这完全解决了这个问题。
有时,可视化设计器会在代码隐藏中序列化所有属性,即使它们具有默认值。
如果您的组件的默认背景色为红色,并且您将默认背景色更改为蓝色,则使用您的组件的组件会将其更改回红色。