VS2017 Winform 设计器异常原因排查

不羁岁月 提交于 2019-11-28 19:40:34

 

 Winform 软件开发过程中,使用可视化设计器 大大提高了应用程序布局效率 ,今天遇到设计器报错,记录一下排错过程。

前些天编写了一个用户控件,从工具箱中拖出控件时报错,截图如下(1-1), 但程序运行,并没有异常。后来发现,是vs 2017 设计器呈现控件外观时,默认执行了自定义控件的 类构造或 Load 方法 过程中抛出错误 。 为什么程序实际运行没异常呢? 

于是,在抛出异常点加了 try catch ,检查控件调用方 , 如下截图(1-2) , 这时设计器异常显示如(1-3) 。 原来是从IDE 启动目录加载了控件,初使化环境并非 应用程序目录。因为用户控件依赖应用程序启动目录配置信息和一些其它DLL , 而IDE环境不存在这些配置依赖项。

   解决方式:

   1. 在用户控件初使化如 构造或 Load 中加上 Try Catch .

   2. 减少用户控件初使化过程中对外部依赖项,如可将一些外部依赖项通过传参方式注入。

   3. 与显示界面无关逻辑 移出  构造或 Load  方法。后期通过外部调用初使化。

 

图1-1

 

图1-2

 

图1-3

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!