日期:2014-05-20  浏览次数:20809 次

XXX.Design.dll的意义
看到很多的第三方控件,比如:XXX.Controls.dll,然后还会有个XXX.Controls.Design.dll。

我自己只是做过几个简单的控件,一般1个dll就搞定了。不明白XXX.Controls.Design.dll这种设计的意义是什么?哪些代码应该放入XXX.Controls.Design.dll?求大神指教。。。
------解决方案--------------------
用于支持设计时的代码.
比如一个控件, 当你在 vs 中从工具栏拖入时,
控件的行为受一个 Designer 控制.

[Designer("这里指定的类型就存在于那个 Design.dll 中"]
class myControl

当然 designer 也可以跟 控件位于一个程序集中, 
为啥分开来放, 基于的考虑可能是多方面的.

单独卖钱, 减少运行时负担等等都可以作为理由.

有一点是确定的, 就是在程序运行的时刻, design.dll 中的代码不是必须的.

除了 控件的 Designer, 属性编辑器, 代码序列化等设计时功能也放在那个 dll 中.