怎样调试ASP.NET服务器控件的运行时状态
我们把制作好的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自定义服务器控件的设计时状态都可以采用类似的方式来进行调试,技巧就是打开两个开发环境,用一个调试另一个。