WPF资源加载问题解决历程
一、WPF资源问题描述
遇到一个有趣的问题,在预览视图下,可以看到图片资源,但是运行时却找不到资源。由于资源文件在程序添加的引用工程中,首先查看图片的资源方式,资源设置方式是Resources。后来查到软件设置了优先使用GAC里面的dll文件,而使用工具没能完全清空GAC里面引用的文件,导致程序启动时加载了GAC里面的dll,所以导致运行时新添加的资源没有找到。而工具清除失败的原因时有一个程序占用了GAC里面的dll文件,但此程序在进程中没有展示,只能在详细列表中才能查到。
首先,对于一个文件夹被占用的时候,可以通过资源管理器进行查看占用的程序,具体如下所示:
二、查看 DLL 和可执行文件
像上述的问题,当存在GAC、com组件、x64和x32等情况的时候,如果资源加载不符合预期,可通过vs编译工具查看程序启动所加载的模块,具体方式为在vs上启动程序,然后通过调试/窗口/模块查看
可以查到启动程序所引用的所有dll文件,例如示例工程引用的dll文件如下所示,可以查看启动文件位置是否正确: