我们把制作好的 ASP.NET 服务器控件拖到 Web 页面上以后,会发现在设计状态就能显示出实际的运行效果,说明在设计状态系统会自动调用一些函数的,包括 CreateChildControls 等。
可是如果这个时候有问题,我们应该怎么调试呢?直接按 F5,系统会提示“无法直接启动带有类库输出类型的项目”,这个时候就需要一些小技巧了。
1. 打开控件库所在的解决方案,因为一会我们还要打开一个解决方案,把先打开的称作 A 方案。
2. 设置 A 方案中控件库为启动项目,并在需要调试设计时状态的地方设置断点,这个例子中我们在 CreateChildControls 函数中设置一个断点。
3. 打开 A 方案中控件库的属性页面,在调试子页面下,修改启动操作,默认应该是启动项目,我们现在修改为启动外部程序,外部程序选择 devenv.exe,这个程序就是 VS2005 的主程序拉,通常会在类似下面的目录中“C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe”。
4. 这时我们按 F5 启动调试,这时发现会自动打开一个新的 VS2005 环境,我们在新的环境中打开刚才的那个解决方案,称之为 B 方案。
5. 在 B 方案中找到那个放置了这个控件的页面,从源视图切换到设计视图看看,发现了没有,A 方案的断点生效了。
6. ASP.NET 自定义服务器控件的设计时状态都可以采用类似的方式来进行调试,技巧就是打开两个开发环境,用一个调试另一个。






