问题描述
在C#做桌面应用开发时,有时候遇到UI Designer报错,提示找不到dll文件或者依赖的dll文件。不能显示可视化的图形界面,对于界面设计者来说,是非常痛苦的事情。
虽然UI Designer有报错,但是程序编译和调试运行,又都是正常的,在程序的output目录下,是存在依赖的dll文件的。
原因
UI Designer报错的原因是UI Designer不会在output目录去找依赖的未管理的native的dll文件,我推测的原因是:依赖的dll又依赖另外的native dll,依赖的级数可能会很多,要找全依赖的dll非常耗时,UI Designer是根据path环境变量去找依赖的dll的。
解决方法
了解了原因,解决就轻松了,就是让UI Designer找到相应的文件。
(1)在用户的path环境变量中,把我们的output目录加进去,当然,output目录下是存在依赖的dll的。实测有效。
(2)也可以把依赖的dll文件放到%windows%\system32下